Search Linux Wireless

Re: [PATCH 08/83] staging: brcm80211: replaced #ifdef __mips__ sections by W_REG_FLUSH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 June 2011 13:44, Roland Vossen <rvossen@xxxxxxxxxxxx> wrote:
> --- a/drivers/staging/brcm80211/include/bcmutils.h
> +++ b/drivers/staging/brcm80211/include/bcmutils.h
> @@ -366,6 +366,17 @@ extern void bcm_prpkt(const char *msg, struct sk_buff *p0);
> Â Â Â Â} while (0)
> Â#endif             /* __BIG_ENDIAN */
>
> +#ifdef __mips__
> +/*
> + * bcm4716 (which includes 4717 & 4718), plus 4706 on PCIe can reorder
> + * transactions. As a fix, a read after write is performed on certain places
> + * in the code. Older chips and the newer 5357 family don't require this fix.
> + */

Checking for CONFIG_BCM47XX instead of __mips__ would be a bit cleaner
and less broad. Although the bcm47x6s are not supported by BCM47XX
yet, when the support gets added they will be caught by this without
affecting other mips platforms.
Perhaps a clean solution would be to introduce a quirk option/value in
the pci_bus or pci_dev the driver can use to decide at runtime whether
it needs this workaround or not. This would also allow other drivers
to check for it if they are also affected by it (even if the
probability of this is rather low - at least I haven't seen a bcm47x6
yet with anything other than a broadcom wifi connected to its pcie
;-).

Jonas
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux