Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b6f29ede authored by Roland Vossen's avatar Roland Vossen Committed by Greg Kroah-Hartman
Browse files

staging: brcm80211: bugfix for 32 bit power pc platform



On some platforms resource_size_t == 64 but but unsigned long is only 32-bits.
In this particular problem, reported and fixed by Tony Breeds, a physical
address was truncated as a result.

Reported-by: default avatarTony Breeds <tony@bakeyournoodle.com>
Reviewed-by: default avatarArend van Spriel <arend@broadcom.com>
Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: default avatarRoland Vossen <rvossen@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b5a44c8a
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -752,12 +752,11 @@ static int brcms_set_hint(struct brcms_info *wl, char *abbrev)
 * is called in brcms_pci_probe() context, therefore no locking required.
 */
static struct brcms_info *brcms_attach(u16 vendor, u16 device,
				       unsigned long regs,
				       resource_size_t regs,
				       struct pci_dev *btparam, uint irq)
{
	struct brcms_info *wl = NULL;
	int unit, err;
	unsigned long base_addr;
	struct ieee80211_hw *hw;
	u8 perm[ETH_ALEN];

@@ -780,11 +779,7 @@ static struct brcms_info *brcms_attach(u16 vendor, u16 device,
	/* setup the bottom half handler */
	tasklet_init(&wl->tasklet, brcms_dpc, (unsigned long) wl);



	base_addr = regs;

	wl->regsva = ioremap_nocache(base_addr, PCI_BAR0_WINSZ);
	wl->regsva = ioremap_nocache(regs, PCI_BAR0_WINSZ);
	if (wl->regsva == NULL) {
		wiphy_err(wl->wiphy, "wl%d: ioremap() failed\n", unit);
		goto fail;