source: branches/chaos_calmer/package/kernel/mac80211/patches/351-0037-brcmfmac-add-support-for-bcm4339-chip-with-modalias-.patch @ 49407

Last change on this file since 49407 was 49407, checked in by rmilecki, 12 months ago

mac80211: brcmfmac: backport changes from 2016-09-27

This fixes memory leaks, some possible crashes and bug that could cause
WARNING on every add_key/del_key call. It also replaces WARNING with
a simple message. They may still occur e.g. on station going out of
range and A-MPDU stall in the firmware.

Signed-off-by: Rafał Miłecki <rafal@…>

File size: 2.6 KB
  • drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c

    From 634faf3686900ccdee87b77e2c56df8b2159912b Mon Sep 17 00:00:00 2001
    From: Arend Van Spriel <arend.vanspriel@broadcom.com>
    Date: Mon, 5 Sep 2016 11:42:12 +0100
    Subject: [PATCH] brcmfmac: add support for bcm4339 chip with modalias
     sdio:c00v02D0d4339
    
    The driver already supports the bcm4339 chipset but only for the variant
    that shares the same modalias as the bcm4335, ie. sdio:c00v02D0d4335.
    It turns out that there are also bcm4339 devices out there that have a
    more distiguishable modalias sdio:c00v02D0d4339.
    
    Reported-by: Steve deRosier <derosier@gmail.com>
    Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
    Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
    Reviewed-by: Franky Lin <franky.lin@broadcom.com>
    Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    ---
     drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 +
     drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c   | 3 ++-
     include/linux/mmc/sdio_ids.h                              | 1 +
     3 files changed, 4 insertions(+), 1 deletion(-)
    
    a b static const struct sdio_device_id brcmf 
    10971097        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43341), 
    10981098        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43362), 
    10991099        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4335_4339), 
     1100        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4339), 
    11001101        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43430), 
    11011102        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4345), 
    11021103        BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_4354), 
  • drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c

    a b static u32 brcmf_sdio_buscore_read32(voi 
    37563756        u32 val, rev; 
    37573757 
    37583758        val = brcmf_sdiod_regrl(sdiodev, addr, NULL); 
    3759         if (sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 && 
     3759        if ((sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4335_4339 || 
     3760             sdiodev->func[0]->device == SDIO_DEVICE_ID_BROADCOM_4339) && 
    37603761            addr == CORE_CC_REG(SI_ENUM_BASE, chipid)) { 
    37613762                rev = (val & CID_REV_MASK) >> CID_REV_SHIFT; 
    37623763                if (rev >= 2) { 
  • include/linux/mmc/sdio_ids.h

    a b  
    3232#define SDIO_DEVICE_ID_BROADCOM_43340           0xa94c 
    3333#define SDIO_DEVICE_ID_BROADCOM_43341           0xa94d 
    3434#define SDIO_DEVICE_ID_BROADCOM_4335_4339       0x4335 
     35#define SDIO_DEVICE_ID_BROADCOM_4339            0x4339 
    3536#define SDIO_DEVICE_ID_BROADCOM_43362           0xa962 
    3637#define SDIO_DEVICE_ID_BROADCOM_43430           0xa9a6 
    3738#define SDIO_DEVICE_ID_BROADCOM_4345            0x4345 
Note: See TracBrowser for help on using the repository browser.