1. 06 Dec, 2012 18 commits
    • Hauke Mehrtens's avatar
      ssb: register watchdog driver · bde327ef
      Hauke Mehrtens authored
      Register the watchdog driver to the system if it is a SoC. Using the
      watchdog on a non SoC device, like a PCI card, will make the PCI
      card die when the timeout expired, but starting it again is not
      supported by ssb.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bde327ef
    • Hauke Mehrtens's avatar
      ssb: extif: add methods for watchdog driver · 9f640a63
      Hauke Mehrtens authored
      The watchdog driver wants to set the watchdog timeout in ms and not in
      ticks, add a method converting ms to ticks before setting the watchdog
      register. Return the ticks or millisecond the timer was set to in case
      the provided value was bigger than the max allowed value.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9f640a63
    • Hauke Mehrtens's avatar
      ssb: extif: add check for max value before setting watchdog register · 7280b51a
      Hauke Mehrtens authored
      Prevent the watchdog register on the extif core to be set to a too
      high value.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7280b51a
    • Hauke Mehrtens's avatar
      ssb: add methods for watchdog driver · 7ffbffe3
      Hauke Mehrtens authored
      The watchdog driver wants to set the watchdog timeout in ms and not in
      ticks, which is depending on the SoC type and the clock.
      Calculate the number of ticks per millisecond and provide two functions
      for the watchdog driver. Also return the ticks or millisecond the timer
      was set to in case the provided value was bigger than the max allowed
      value.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7ffbffe3
    • Hauke Mehrtens's avatar
      ssb: set the PMU watchdog if available · 26107309
      Hauke Mehrtens authored
      Some ssb based devices have a PMU and the PMU watchdog register should
      be used instead of the register in the chip common part, if the device
      has a PMU. This patch also calculates the maximal number the watchdog
      could be set to.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      26107309
    • Hauke Mehrtens's avatar
      ssb: get alp clock from devices with PMU · f924e1e9
      Hauke Mehrtens authored
      If there is a PMU in the device, get the alp clock from that part and
      do not assume 20000000.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f924e1e9
    • Hauke Mehrtens's avatar
      bcma: register watchdog driver · a4855f39
      Hauke Mehrtens authored
      Register the watchdog driver to the system if this is a SoC. Using the
      watchdog on a non SoC device, like a PCIe card, will make the PCIe
      card die when the timeout expired, but starting it again is not
      supported by bcma.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a4855f39
    • Hauke Mehrtens's avatar
      bcma: add methods for watchdog driver · a22a3114
      Hauke Mehrtens authored
      The watchdog driver wants to set the watchdog timeout in ms and not in
      ticks, which is depending on the SoC type and the clock.
      Calculate the number of ticks per millisecond and provide two functions
      for the watchdog driver. Also return the ticks or millisecond the timer
      was set to in case the provided value was bigger than the max allowed
      value.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a22a3114
    • Hauke Mehrtens's avatar
      bcma: set the pmu watchdog if available · f6354c8c
      Hauke Mehrtens authored
      Mostly all bcma based devices have a PMU and the PMU watchdog should be
      used and not the old one in chip common. This patch also calculates the
      maximal number the watchdog could be set to.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f6354c8c
    • Hauke Mehrtens's avatar
      bcma: add bcma_chipco_alp_clock · 56fd5f07
      Hauke Mehrtens authored
      For devices without a PMU the alp clock is always 20000000.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      56fd5f07
    • Hauke Mehrtens's avatar
      ssb/bcma: add common header for watchdog · bc245cc3
      Hauke Mehrtens authored
      This adds a common header for watchdog functions, so a watchdog driver
      just needs to use this and could provide watchdog functionality for ssb
      and bcma based SoCs. Patches for a watchdog driver using this interface
      will be send later.
      Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bc245cc3
    • Wei Yongjun's avatar
      ipw2200: return error code on error in ipw_wx_get_auth() · 8df0f1e5
      Wei Yongjun authored
      We have assinged error code to 'ret' when get auth from some
      option is not supported but never used it, but we'd better return
      the error code.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8df0f1e5
    • Wei Yongjun's avatar
      brcmsmac: remove duplicated include from debug.c · 9304a1c7
      Wei Yongjun authored
      Remove duplicated include.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9304a1c7
    • Helmut Schaa's avatar
      rt2x00: Only specify interface combinations if more then one interface is possible · f5685ba6
      Helmut Schaa authored
      Otherwise rt2500* triggers a warning in cfg80211, from net/wireless/core.c:
      
      	/* Combinations with just one interface aren't real */
      	if (WARN_ON(c->max_interfaces < 2))
      
      This was introduced in commit 55d2e9da:
      rt2x00: Replace open coded interface checking with interface combinations.
      Reported-by: default avatarStefan Lippers-Hollmann <s.l-h@gmx.de>
      Tested-by: default avatarStefan Lippers-Hollmann <s.l-h@gmx.de>
      Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
      Cc: stable@vger.kernel.org [3.7+]
      Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
      Acked-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f5685ba6
    • 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 22 commits