1. 06 Dec, 2012 4 commits
    • Christian Lamparter's avatar
      carl9170: explain why sta cannot be NULL for ampdus · 1981e881
      Christian Lamparter authored
      Dan Carpenter reported that smatch detected a potential
      problem with the code [1]:
       drivers/net/wireless/ath/carl9170/tx.c:1488 carl9170_op_tx()
        error: we previously assumed 'sta' could be null (see line 1482)
      
       drivers/net/wireless/ath/carl9170/tx.c
        1482  if (sta) {
                 ^^^^^ New check.
        [...]
        1485  }
        1487  if (info->flags & IEEE80211_TX_CTL_AMPDU) {
        1488    run = carl9170_tx_ampdu_queue(ar, sta, skb);
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         Old dereference of "sta" inside the call to carl9170_tx_ampdu_queue().
      
      A range of solutions have been discussed in [2] and
      we agreed on the following: "
      > we might as well add a comment to carl9170_tx_ampdu_queue
      > and explain the situation [in a way that's obvious to a
      > human reader]. This way we can save the "if"... which is
      > a small win since carl9170_op_tx is sort of a hot-path.
      Putting a comment there is fine. Without the comment
      it's easy for a human reader to get confused why the
      check is there. So long as humans can read the code,
      that's all that matters."
      
      [1] <http://www.spinics.net/lists/linux-wireless/msg94526.html>
      [2] <http://www.spinics.net/lists/linux-kernel-janitors/msg14953.html>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1981e881
    • Luis R. Rodriguez's avatar
      brcmfmac: convert struct spinlock to spinlock_t · f241b244
      Luis R. Rodriguez authored
      spinlock_t should always be used.
      
        LD      drivers/net/wireless/brcm80211/built-in.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/fwil.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/fwil.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/fweh.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/fweh.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/dhd_common.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/usb.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/usb.o
        CHECK   drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.c
        CC [M]  drivers/net/wireless/brcm80211/brcmfmac/dhd_dbg.o
        LD [M]  drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.o
        LD      drivers/net/wireless/brcm80211/brcmsmac/built-in.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
      drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c:1311:6: warning: context imbalance in 'brcms_down' - unexpected unlock
      drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c:1598:6: warning: context imbalance in 'brcms_rfkill_set_hw_state' - unexpected unlock
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/ucode_loader.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/ampdu.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/ampdu.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/antsel.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/antsel.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/channel.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/channel.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/main.c
      drivers/net/wireless/brcm80211/brcmsmac/main.c:6246:36: warning: Initializer entry defined twice
      drivers/net/wireless/brcm80211/brcmsmac/main.c:6246:43:   also defined here
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/main.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy_shim.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy_shim.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/pmu.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/pmu.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/rate.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/rate.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/stf.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/stf.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/aiutils.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phy_cmn.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c:3313:46: warning: cast truncates bits from constant value (ffff7fff becomes 7fff)
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:17688:47: warning: cast truncates bits from constant value (ffff7fff becomes 7fff)
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:18187:53: warning: cast truncates bits from constant value (ffff3fff becomes 3fff)
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:21160:36: warning: cast truncates bits from constant value (ffff3fff becomes 3fff)
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:23321:35: warning: cast truncates bits from constant value (ffff7fff becomes 7fff)
      drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c:28343:44: warning: cast truncates bits from constant value (ffff1fff becomes 1fff)
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_lcn.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phytbl_n.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/phy/phy_qmath.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/dma.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/dma.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.o
        CHECK   drivers/net/wireless/brcm80211/brcmsmac/debug.c
        CC [M]  drivers/net/wireless/brcm80211/brcmsmac/debug.o
        LD [M]  drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.o
        LD      drivers/net/wireless/brcm80211/brcmutil/built-in.o
        CHECK   drivers/net/wireless/brcm80211/brcmutil/utils.c
        CC [M]  drivers/net/wireless/brcm80211/brcmutil/utils.o
        LD [M]  drivers/net/wireless/brcm80211/brcmutil/brcmutil.o
        Building modules, stage 2.
        MODPOST 3 modules
        CC      drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.mod.o
        LD [M]  drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
        CC      drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.mod.o
        LD [M]  drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
        CC      drivers/net/wireless/brcm80211/brcmutil/brcmutil.mod.o
        LD [M]  drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
      
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: Franky (Zhenhui) Lin <frankyl@broadcom.com>
      Cc: Kan Yan <kanyan@broadcom.com>
      Cc: linux-wireless@vger.kernel.org
      Cc: brcm80211-dev-list@broadcom.com
      Reported-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@do-not-panic.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f241b244
    • John W. Linville's avatar
      Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next · 403e1673
      John W. Linville authored
      Conflicts:
      	drivers/net/wireless/mwifiex/sta_ioctl.c
      	net/mac80211/scan.c
      403e1673
    • John W. Linville's avatar
      Merge tag 'nfc-fixes-3.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-3.0 · 55cb0797
      John W. Linville authored
      This is an NFC LLCP fix for 3.7 and contains only one patch.
      
      It fixes a potential crash when receiving an LLCP HDLC frame acking a frame
      that is not the last sent one. In that case we may dereference an already
      freed pointer.
      55cb0797
  2. 03 Dec, 2012 23 commits
  3. 30 Nov, 2012 13 commits