1. 31 Jul, 2013 4 commits
  2. 29 Jul, 2013 4 commits
  3. 26 Jul, 2013 6 commits
    • Arend van Spriel's avatar
      brcmfmac: inform cfg80211 about disconnect when device is unplugged · a538ae31
      Arend van Spriel authored
      When the brcmfmac device is physically removed cfg80211 gives a
      warning upon unregistering the net device (see below).
      
      [23052.390197] WARNING: CPU: 0 PID: 30 at net/wireless/core.c:937 cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]()
      [23052.400843] Modules linked in: brcmfmac(O) brcmutil(O) cfg80211(O) pl2303 usbserial binfmt_misc snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event lpc_ich snd_seq snd_timer snd_seq_device snd psmouse mfd_core serio_raw soundcore snd_page_alloc intel_ips dell_laptop dell_wmi sparse_keymap dcdbas nouveau ttm drm_kms_helper drm i2c_algo_bit mxm_wmi ahci libahci sdhci_pci firewire_ohci firewire_core sdhci crc_itu_t mmc_core intel_agp intel_gtt e1000e ptp pps_core agpgart video [last unloaded: brcmfmac]
      [23052.452987] CPU: 0 PID: 30 Comm: khubd Tainted: G           O 3.11.0-rc1-wl-testing-lockdep-00002-g41cc093-dirty #1
      [23052.463480] Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
      [23052.470852]  00000000 00000000 f4efdc18 c1522e3d f845bed2 f4efdc48 c103fbe4 c16a9254
      [23052.478762]  00000000 0000001e f845bed2 000003a9 f841da44 f841da44 f3790004 f25539c0
      [23052.486741]  e2700200 f4efdc58 c103fc22 00000009 00000000 f4efdcc0 f841da44 00000002
      [23052.494712] Call Trace:
      [23052.497165]  [<c1522e3d>] dump_stack+0x4b/0x66
      [23052.501685]  [<c103fbe4>] warn_slowpath_common+0x84/0xa0
      [23052.507085]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.514542]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.521981]  [<c103fc22>] warn_slowpath_null+0x22/0x30
      [23052.527191]  [<f841da44>] cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.534494]  [<c150abe8>] ? packet_notifier+0xc8/0x1d0
      [23052.539703]  [<c150abfc>] ? packet_notifier+0xdc/0x1d0
      [23052.544880]  [<c150ab20>] ? packet_seq_stop+0x30/0x30
      [23052.550002]  [<c152d655>] notifier_call_chain+0x45/0x60
      [23052.555298]  [<c106839f>] raw_notifier_call_chain+0x1f/0x30
      [23052.560963]  [<c143c693>] call_netdevice_notifiers_info+0x33/0x70
      [23052.567153]  [<c1459869>] ? qdisc_destroy+0x99/0xb0
      [23052.572116]  [<c143c6e3>] call_netdevice_notifiers+0x13/0x20
      [23052.577861]  [<c143df93>] rollback_registered_many+0xf3/0x1d0
      [23052.583687]  [<c1524cfc>] ? mutex_lock_nested+0x25c/0x350
      [23052.589150]  [<c143e0f4>] rollback_registered+0x24/0x40
      [23052.594445]  [<c143e15f>] unregister_netdevice_queue+0x4f/0xb0
      [23052.600344]  [<c143e299>] unregister_netdev+0x19/0x30
      [23052.605484]  [<f865b38f>] brcmf_del_if+0xbf/0x160 [brcmfmac]
      [23052.611223]  [<f865b7ae>] brcmf_detach+0x5e/0xd0 [brcmfmac]
      [23052.616881]  [<f8667413>] brcmf_usb_disconnect+0x63/0xa0 [brcmfmac]
      [23052.623217]  [<c13e09aa>] usb_unbind_interface+0x4a/0x180
      
      When the device is physically connected the driver sends a disassoc
      command to the device and response triggers the driver to inform cfg80211
      about it. However, with the device removed the disassoc command fails.
      This patch adds a call to cfg80211_disconnected() when that command fails.
      
      The warning was added by commit below and also cleans up, but better
      doing it in the driver if only to get rid of the warning.
      
      commit f9bef3df
      Author: Ben Greear <greearb@candelatech.com>
      Date:   Wed Jun 19 14:06:26 2013 -0700
      
          wireless: check for dangling wdev->current_bss pointer
      
      Cc: Ben Greear <greearb@candelatech.com>
      Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      a538ae31
    • Tomasz Moń's avatar
      mwifiex: Add missing endian conversion. · 83e612f6
      Tomasz Moń authored
      Both type and pkt_len variables are in host endian and these should be in
      Little Endian in the payload.
      Signed-off-by: default avatarTomasz Moń <desowin@gmail.com>
      Acked-by: default avatarBing Zhao <bzhao@marvell.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      83e612f6
    • Emmanuel Grumbach's avatar
      iwlwifi: pcie: clear RFKILL interrupt in AMPG · a53ee0a3
      Emmanuel Grumbach authored
      If we forget to do so, we can't send HCMD to firmware while
      the NIC is in RFKILL state.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a53ee0a3
    • Johannes Berg's avatar
      iwlwifi: mvm: fix flushing not started aggregation sessions · b6658ff8
      Johannes Berg authored
      When a not fully started aggregation session is destroyed
      and flushed, we get a warning, e.g.
      
        WARNING: at drivers/net/wireless/iwlwifi/pcie/tx.c:1142 iwl_trans_pcie_txq_disable+0x11c/0x160
        queue 16 not used
        Modules linked in: [...]
        Pid: 5135, comm: hostapd Tainted: G        W  O 3.5.0 #10
        Call Trace:
        wlan0: driver sets block=0 for sta 00:03:7f:10:44:d3
         [<ffffffff81036492>] warn_slowpath_common+0x72/0xa0
         [<ffffffff81036577>] warn_slowpath_fmt+0x47/0x50
         [<ffffffffa0368d6c>] iwl_trans_pcie_txq_disable+0x11c/0x160 [iwlwifi]
         [<ffffffffa03a2099>] iwl_mvm_sta_tx_agg_flush+0xe9/0x150 [iwlmvm]
         [<ffffffffa0396c43>] iwl_mvm_mac_ampdu_action+0xf3/0x1e0 [iwlmvm]
         [<ffffffffa0293ad3>] ___ieee80211_stop_tx_ba_session+0x193/0x920 [mac80211]
         [<ffffffffa0294ed8>] __ieee80211_stop_tx_ba_session+0x48/0x70 [mac80211]
         [<ffffffffa029159f>] ieee80211_sta_tear_down_BA_sessions+0x4f/0x80 [mac80211]
         [<ffffffffa028a686>] __sta_info_destroy+0x66/0x370 [mac80211]
         [<ffffffffa028abb4>] sta_info_destroy_addr_bss+0x44/0x70 [mac80211]
         [<ffffffffa02a3e26>] ieee80211_del_station+0x26/0x50 [mac80211]
         [<ffffffffa01e6395>] nl80211_del_station+0x85/0x200 [cfg80211]
      
      when a station deauthenticated from us without fully setting
      up the aggregation session.
      
      Fix this by checking the aggregation state before removing
      the hardware queue.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      b6658ff8
    • Ilan Peer's avatar
      iwlwifi: mvm: Disable managed PS when GO is added · ea183d02
      Ilan Peer authored
      The managed interface PS was not disabled when a GO interface
      was added. As a consequence, when the station VMAC was in PS,
      the GO also was not on the medium. Fix this.
      Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      ea183d02
    • Emmanuel Grumbach's avatar
      iwlwifi: pcie: reset the NIC before the bring up · 2997494f
      Emmanuel Grumbach authored
      This allows to clean all kinds of bad state it might be in.
      This solves situation where HW RFkill was switched while
      the NIC was offline.
      Until now, we relied on the firmware to do clean the
      interrupt, but new firmwares don't do that any more.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2997494f
  4. 25 Jul, 2013 1 commit
  5. 24 Jul, 2013 2 commits
  6. 23 Jul, 2013 1 commit
  7. 22 Jul, 2013 14 commits
    • Arend van Spriel's avatar
      brcmfmac: bail out of brcmf_txflowblock_if() for non-netdev interface · 23d412a2
      Arend van Spriel authored
      To avoid ending up in a NULL-pointer access, the function
      brcmf_txflowblock_if() should only be called for interfaces
      that have a netdev associated with it.
      Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
      Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      23d412a2
    • Arend van Spriel's avatar
      brcmfmac: decrement pending 8021x count upon tx failure · 28a905b5
      Arend van Spriel authored
      If the transmit fails because there are no hanger slots or
      any other reason and the packet was an EAPOL packet the
      pending counter should be decreased although it was not
      transmitted so the driver does not end up in a dead-lock.
      Reviewed-by: default avatarHante Meuleman <meuleman@broadcom.com>
      Reviewed-by: default avatarPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      28a905b5
    • Larry Finger's avatar
      ath: wil6210: Fix build error · 5d21608a
      Larry Finger authored
      Building driver wil6210 in 3.10 and 3.11 kernels yields the following errors:
      
        CC [M]  drivers/net/wireless/ath/wil6210/debugfs.o
      drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_print_ring':
      drivers/net/wireless/ath/wil6210/debugfs.c:163:11: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign]
                 false);
                 ^
      In file included from include/linux/kernel.h:13:0,
                       from include/linux/cache.h:4,
                       from include/linux/time.h:4,
                       from include/linux/stat.h:18,
                       from include/linux/module.h:10,
                       from drivers/net/wireless/ath/wil6210/debugfs.c:17:
      include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *'
       extern void hex_dump_to_buffer(const void *buf, size_t len,
                   ^
      drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_txdesc_debugfs_show':
      drivers/net/wireless/ath/wil6210/debugfs.c:429:10: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign]
                sizeof(printbuf), false);
                ^
      In file included from include/linux/kernel.h:13:0,
                       from include/linux/cache.h:4,
                       from include/linux/time.h:4,
                       from include/linux/stat.h:18,
                       from include/linux/module.h:10,
                       from drivers/net/wireless/ath/wil6210/debugfs.c:17:
      include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *'
       extern void hex_dump_to_buffer(const void *buf, size_t len,
                   ^
      cc1: all warnings being treated as errors
      make[5]: *** [drivers/net/wireless/ath/wil6210/debugfs.o] Error 1
      make[4]: *** [drivers/net/wireless/ath/wil6210] Error 2
      make[3]: *** [drivers/net/wireless/ath] Error 2
      make[2]: *** [drivers/net/wireless] Error 2
      make[1]: *** [drivers/net] Error 2
      make: *** [drivers] Error 2
      
      These errors are fixed by changing the type of the buffer from "unsigned char *" to "char *".
      Reported-by: default avatarThomas Fjellstrom <thomas@fjellstrom.ca>
      Tested-by: default avatarThomas Fjellstrom <thomas@fjellstrom.ca>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>  [3.10]
      Cc: Thomas Fjellstrom <thomas@fjellstrom.ca>
      Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5d21608a
    • Solomon Peachy's avatar
      cw1200: Fix OOPS in monitor mode · 16ec75b5
      Solomon Peachy authored
      In monitor mode, priv->vif is NULL, but at one point in the receive path we
      blindly attempt to dereference it.  Add a test to prevent this.
      Signed-off-by: default avatarSolomon Peachy <pizza@shaftnet.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      16ec75b5
    • Oleksij Rempel's avatar
      ath9k_htc: reboot firmware if it was loaded · 4928bd2e
      Oleksij Rempel authored
      Currently ath9k_htc will reboot firmware only if interface was
      ever started. Which lead to the problem in case where interface
      was never started but module need to be reloaded.
      
      This patch will partially fix bug "ath9k_htc: Target is unresponsive"
      https://github.com/qca/open-ath9k-htc-firmware/issues/1
      
      Reproduction case:
      - plug adapter
      - make sure nothing will touch it. Stop Networkmanager or blacklist mac address of this adapter.
      - rmmod ath9k_htc; sleep 1; modprobe ath9k_htc
      Signed-off-by: default avatarOleksij Rempel <linux@rempel-privat.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4928bd2e
    • Oleksij Rempel's avatar
      ath9k_htc: do some initial hardware configuration · dc2a87f5
      Oleksij Rempel authored
      Currently we configure harwdare and clock, only after
      interface start. In this case, if we reload module or
      reboot PC without configuring adapter, firmware will freeze.
      There is no software way to reset adpter.
      
      This patch add initial configuration and set it in
      disabled state, to avoid this freeze. Behaviour of this patch
      should be similar to: ifconfig wlan0 up; ifconfig wlan0 down.
      
      Bug: https://github.com/qca/open-ath9k-htc-firmware/issues/1Tested-by: default avatarBo Shi <cnshibo@gmail.com>
      Signed-off-by: default avatarOleksij Rempel <linux@rempel-privat.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      dc2a87f5
    • Daniel Drake's avatar
      mwifiex: fix IRQ enable/disable · 232fde06
      Daniel Drake authored
      During tear down (e.g. mwifiex_sdio_remove during system suspend),
      mwifiex left IRQs enabled for a significant period of time when it was
      unable to handle them correctly. This caused interrupt storms and
      interfered with the bluetooth interface on the same SDIO card.
      
      Solve this by disabling interrupts at the point when they can no longer
      be handled correctly, which is at the start of mwifiex_remove_card().
      
      For cleanliness, we now enable interrupts in the mwifiex_add_card() path,
      to be symmetrical with the disabling of interrupts. We also couple the
      registration of the sdio IRQ handler with the actual enable/disable of
      interrupts at the hardware level.
      
      I also removed a write to this register in mwifiex_init_sdio which seemed
      pointless and won't cause any ill effects now that we only register
      the SDIO IRQ handler when we are ready to accept interrupts.
      
      Includes some corrections from Amitkumar Karwar.
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Acked-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      232fde06
    • John W. Linville's avatar
    • John W. Linville's avatar
    • Emmanuel Grumbach's avatar
      iwlwifi: add DELL SKU for 5150 HMC · a1923f1d
      Emmanuel Grumbach authored
      This SKU was missing in the list of supported devices
      
      https://bugzilla.kernel.org/show_bug.cgi?id=60577
      
      Cc: <stable@vger.kernel.org> [all versions]
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a1923f1d
    • Chun-Yeow Yeoh's avatar
      mac80211: prevent the buffering or frame transmission to non-assoc mesh STA · 40d18ff9
      Chun-Yeow Yeoh authored
      This patch is intended to avoid the buffering to non-assoc mesh STA
      and also to avoid the triggering of frame to non-assoc mesh STA which
      could cause kernel panic in specific hw.
      
      One of the examples, is kernel panic happens to ath9k if user space
      inserts the mesh STA and not proceed with the SAE and AMPE, and later
      the same mesh STA is detected again. The sta_state of the mesh STA remains
      at IEEE80211_STA_NONE and if the ieee80211_sta_ps_deliver_wakeup is called
      and subsequently the ath_tx_aggr_wakeup, the kernel panic due to
      ath_tx_node_init is not called before to initialize the require data
      structures.
      
      This issue is reported by Cedric Voncken before.
      http://www.spinics.net/lists/linux-wireless/msg106342.html
      
      [<831ea6b4>] ath_tx_aggr_wakeup+0x44/0xcc [ath9k]
      [<83084214>] ieee80211_sta_ps_deliver_wakeup+0xb8/0x208 [mac80211]
      [<830b9824>] ieee80211_mps_sta_status_update+0x94/0x108 [mac80211]
      [<83099398>] ieee80211_sta_ps_transition+0xc94/0x34d8 [mac80211]
      [<8022399c>] nf_iterate+0x98/0x104
      [<8309bb60>] ieee80211_sta_ps_transition+0x345c/0x34d8 [mac80211]
      Signed-off-by: default avatarChun-Yeow Yeoh <yeohchunyeow@gmail.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      40d18ff9
    • Kalle Valo's avatar
      MAINTAINERS: update ath6kl git location · 58cfb681
      Kalle Valo authored
      The git tree is in github.com nowadays.
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      58cfb681
    • Kalle Valo's avatar
      MAINTAINERS: add ath10k · 2ea0ffcb
      Kalle Valo authored
      I forgot to add an entry to MAINTAINERS when submitting the driver.
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      2ea0ffcb
    • Geert Uytterhoeven's avatar
      ath10k: ATH10K should depend on HAS_DMA · 07b15503
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
      drivers/built-in.o: In function `ath10k_skb_unmap':
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath10k_skb_map':
      drivers/net/wireless/ath/ath10k/core.h:83: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath10k/core.h:86: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath10k_htt_rx_ring_free':
      drivers/net/wireless/ath/ath10k/htt_rx.c:113: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath10k_htt_rx_amsdu_pop':
      drivers/net/wireless/ath/ath10k/htt_rx.c:296: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath10k/htt_rx.c:389: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `__ath10k_htt_rx_ring_fill_n':
      drivers/net/wireless/ath/ath10k/htt_rx.c:146: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath10k/htt_rx.c:150: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath10k_htt_rx_attach':
      drivers/net/wireless/ath/ath10k/htt_rx.c:474: undefined reference to `dma_alloc_coherent'
      drivers/net/wireless/ath/ath10k/htt_rx.c:509: undefined reference to `dma_free_coherent'
      drivers/net/wireless/ath/ath10k/htt_rx.c:514: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `ath10k_htt_rx_detach':
      drivers/net/wireless/ath/ath10k/htt_rx.c:220: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath10k/htt_rx.c:228: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `ath10k_skb_map':
      drivers/net/wireless/ath/ath10k/core.h:83: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath10k/core.h:86: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath10k_skb_unmap':
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `ath10k_skb_map':
      drivers/net/wireless/ath/ath10k/core.h:83: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath10k/core.h:86: undefined reference to `dma_mapping_error'
      drivers/net/wireless/ath/ath10k/core.h:83: undefined reference to `dma_map_single'
      drivers/net/wireless/ath/ath10k/core.h:86: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `ath10k_skb_unmap':
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      drivers/net/wireless/ath/ath10k/core.h:98: undefined reference to `dma_unmap_single'
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      07b15503
  8. 18 Jul, 2013 5 commits
    • Sujith Manoharan's avatar
      ath9k_hw: Fix multicast search for AR9002 family · 64b6f46f
      Sujith Manoharan authored
      The multicast search bit is disabled for the AR9003
      family, but this is required for AR9002 too. Fix this in
      the INI override routine.
      Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      64b6f46f
    • Larry Finger's avatar
      rtlwifi: Fix build errors for unusual cases · 6f334c2b
      Larry Finger authored
      The present build configuration for the rtlwifi family of drivers will
      fail under two known conditions:
      
      (1) If rtlwifi is selected without selecting any of the dependent drivers,
          there are errors in the build.
      (2) If the PCI drivers are built into the kernel and the USB drivers are modules,
          or vice versa, there are missing globals.
      
      The first condition is fixed by never building rtlwifi unless at least one
      of the device drivers is selected. The second failure is fixed by splitting
      the PCI and USB codes out of rtlwifi, and creating their own mini drivers.
      If the drivers that use them are modules, they will also be modules.
      
      Although a number of files are touched by this patch, only Makefile and Kconfig
      have undergone significant changes. The only modifications to the other files
      were to export entry points needed by the new rtl_pci and rtl_usb units, or to
      rename two variables that had names that were likely to cause namespace collisions.
      
      Reported-by: Fengguang Wu <fengguang.wu@intel.com>  [Condition 1]
      Reported-by: Ben Hutchings <bhutchings@solarflare.com> [Condition 2]
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Ben Hutchings <bhutchings@solarflare.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6f334c2b
    • Bob Copeland's avatar
      ath5k: fix extra set bit in multicast mask · f287cbd0
      Bob Copeland authored
      Bit 32 was always set which looks to have been accidental,
      according to git history.
      Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f287cbd0
    • Geert Uytterhoeven's avatar
      rt2x00: RT2X00 should depend on HAS_DMA · 6a084839
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
      drivers/built-in.o: In function `rt2x00queue_unmap_skb':
      drivers/net/wireless/rt2x00/rt2x00queue.c:129: undefined reference to `dma_unmap_single'
      drivers/net/wireless/rt2x00/rt2x00queue.c:133: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `rt2x00queue_map_txskb':
      drivers/net/wireless/rt2x00/rt2x00queue.c:112: undefined reference to `dma_map_single'
      drivers/net/wireless/rt2x00/rt2x00queue.c:115: undefined reference to `dma_mapping_error'
      drivers/built-in.o: In function `rt2x00queue_alloc_rxskb':
      drivers/net/wireless/rt2x00/rt2x00queue.c:93: undefined reference to `dma_map_single'
      drivers/net/wireless/rt2x00/rt2x00queue.c:95: undefined reference to `dma_mapping_error'
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6a084839
    • Arnd Bergmann's avatar
      ssb: fix alignment of struct bcma_device_id · b01a60be
      Arnd Bergmann authored
      The ARM OABI and EABI disagree on the alignment of structures
      with small members, so module init tools may interpret the
      ssb device table incorrectly, as shown  by this warning when
      building the b43 device driver in an OABI kernel:
      
      FATAL: drivers/net/wireless/b43/b43: sizeof(struct ssb_device_id)=6 is
      not a modulo of the size of section __mod_ssb_device_table=88.
      
      Forcing the default (EABI) alignment on the structure makes this
      problem go away. Since the ssb_device_id may have the same problem,
      better fix both structures.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: Michael Buesch <mb@bu3sch.de>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b01a60be
  9. 17 Jul, 2013 3 commits