1. 23 1月, 2013 1 次提交
  2. 03 1月, 2013 1 次提交
    • C
      carl9170: fix -EINVAL bailout during init with !CONFIG_MAC80211_MESH · 6c653f66
      Christian Lamparter 提交于
      Sean reported that as of 3.7, his AR9170 device no longer works
      because the driver fails during initialization. He noted this
      is due to:
      "In carl9170/fw.c, ar->hw->wiphy is tagged with
      NL80211_IFTYPE_MESH_POINT support if the firmware has Content
      after Beacon Queuing. This is both in interface_modes and the
      only iface_combinations entry.
      
      If CONFIG_MAC80211_MESH is not set, ieee80211_register_hw
      removes NL80211_IFTYPE_MESH_POINT from interface_modes, but
      not iface_combinations.
      
      wiphy_register then checks to see if every interface type in
      every interface combination is in interface_modes.
      NL80211_IFTYPE_MESH_POINT was removed, so you get a WARN_ON
      warning and it returns -EINVAL, giving up."
      
      Unfortunately, the iface_combination (types) feature bitmap
      in ieee80211_iface_limit is part of a const member in the
      ieee80211_iface_combination struct. Hence, the MESH_POINT
      feature flag can't be masked by wiphy_register in the
      same way as interface_modes in ieee80211_register_hw.
      
      Cc: <stable@vger.kernel.org>
      Reported-by: NSean Patrick Santos <quantheory@gmail.com>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Tested-by: NSean Patrick Santos <quantheory@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6c653f66
  3. 11 12月, 2012 1 次提交
  4. 07 12月, 2012 1 次提交
  5. 04 12月, 2012 1 次提交
  6. 01 12月, 2012 1 次提交
    • V
      wireless: allow Atheros card to not depend on ath.ko · 23c1d7f6
      Vladimir Kondratiev 提交于
      There are 2 different things:
      - sub-menu for "Atheros Wireless cards" family
      - module ath.ko with common Atheros code
      
      Until now, they both used to depend on the same Kconfig variable ATH_COMMON.
      Thus, being "Atheros card" and "depending on ath.ko" was the same.
      
      To allow module to belong to the
      "Atheros Wireless cards" family but not use ath.ko,
      2 conditions above need to be separated.
      
      So, this patch introduce new Kconfig variable ATH_CARDS for belonging
      to the "Atheros Wireless Cards" family; while ATH_COMMON becomes hidden
      variable to express dependency on common Atheros code in ath.ko. Modules
      that depend on this common code now express it by setting ATH_COMMON.
      
      Right now, ath6kl do not depend on common code and thus do not set ATH_COMMON.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      23c1d7f6
  7. 15 11月, 2012 1 次提交
  8. 30 10月, 2012 2 次提交
  9. 20 10月, 2012 1 次提交
    • C
      carl9170: handle traps from firmware loader · b4764c80
      Christian Lamparter 提交于
      This patch changes the way the driver deals with
      command responses and traps which are sent through
      the special interrupt input endpoint 3.
      
      While the carl9170 firmware does not use this
      endpoint for command responses or traps, the
      firmware loader on the device does. It uses it
      to notify the host about 'watchdog triggered'
      in case the firmware/hardware has crashed.
      
      Note:
      Even without this patch, the driver is still
      able to detect the mishap and reset the device.
      But previously it did that because the trap
      event caused an out-of-order message sequence
      number error, which also triggered a reset.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b4764c80
  10. 09 10月, 2012 1 次提交
    • R
      carl9170: fix sleep in softirq context · 5bcbc3fc
      Ronald Wahl 提交于
      This patch fixes the following bug:
      
      usb 1-1.1: restart device (8)
      BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:654
      in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper
       (usb_poison_urb+0x1c/0xf8)
       (usb_poison_anchored_urbs+0x48/0x78)
       (carl9170_usb_handle_tx_err+0x128/0x150)
       (carl9170_usb_reset+0xc/0x20)
       (carl9170_handle_command_response+0x298/0xea8)
       (carl9170_usb_tasklet+0x68/0x184)
       (tasklet_hi_action+0x84/0xdc)
      
      this only happens if the device is plugged in an USB port,
      the driver is loaded but inactive (e.g. the wlan interface
      is down). If the device is active everything is fine.
      Signed-off-by: NRonald Wahl <ronald.wahl@raritan.com>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5bcbc3fc
  11. 25 9月, 2012 1 次提交
  12. 22 8月, 2012 1 次提交
  13. 07 8月, 2012 1 次提交
  14. 31 7月, 2012 1 次提交
  15. 12 7月, 2012 2 次提交
  16. 03 7月, 2012 1 次提交
  17. 07 6月, 2012 1 次提交
    • J
      wireless: Remove casts to same type · 2c208890
      Joe Perches 提交于
      Adding casts of objects to the same type is unnecessary
      and confusing for a human reader.
      
      For example, this cast:
      
              int y;
              int *p = (int *)&y;
      
      I used the coccinelle script below to find and remove these
      unnecessary casts.  I manually removed the conversions this
      script produces of casts with __force, __iomem and __user.
      
      @@
      type T;
      T *p;
      @@
      
      -       (T *)p
      +       p
      
      Neatened the mwifiex_deauthenticate_infra function which
      was doing odd things with array pointers and not using
      is_zero_ether_addr.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2c208890
  18. 19 5月, 2012 1 次提交
    • S
      USB: Disable hub-initiated LPM for comms devices. · e1f12eb6
      Sarah Sharp 提交于
      Hub-initiated LPM is not good for USB communications devices.  Comms
      devices should be able to tell when their link can go into a lower power
      state, because they know when an incoming transmission is finished.
      Ideally, these devices would slam their links into a lower power state,
      using the device-initiated LPM, after finishing the last packet of their
      data transfer.
      
      If we enable the idle timeouts for the parent hubs to enable
      hub-initiated LPM, we will get a lot of useless LPM packets on the bus
      as the devices reject LPM transitions when they're in the middle of
      receiving data.  Worse, some devices might blindly accept the
      hub-initiated LPM and power down their radios while they're in the
      middle of receiving a transmission.
      
      The Intel Windows folks are disabling hub-initiated LPM for all USB
      communications devices under a xHCI USB 3.0 host.  In order to keep
      the Linux behavior as close as possible to Windows, we need to do the
      same in Linux.
      
      Set the disable_hub_initiated_lpm flag for for all USB communications
      drivers.  I know there aren't currently any USB 3.0 devices that
      implement these class specifications, but we should be ready if they do.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Hansjoerg Lipp <hjlipp@web.de>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Jan Dumon <j.dumon@option.com>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
      Cc: Jouni Malinen <jouni@qca.qualcomm.com>
      Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      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: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Daniel Drake <dsd@gentoo.org>
      Cc: Ulrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      e1f12eb6
  19. 11 5月, 2012 1 次提交
    • J
      drivers/net: Convert compare_ether_addr to ether_addr_equal · 2e42e474
      Joe Perches 提交于
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script:
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2e42e474
  20. 12 4月, 2012 1 次提交
  21. 11 4月, 2012 1 次提交
  22. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  23. 01 3月, 2012 3 次提交
  24. 28 1月, 2012 1 次提交
  25. 25 1月, 2012 2 次提交
  26. 05 1月, 2012 1 次提交
  27. 04 1月, 2012 1 次提交
  28. 20 12月, 2011 1 次提交
  29. 24 11月, 2011 1 次提交
  30. 22 11月, 2011 1 次提交
  31. 19 11月, 2011 1 次提交
    • G
      USB: convert drivers/net/* to use module_usb_driver() · d632eb1b
      Greg Kroah-Hartman 提交于
      This converts the drivers in drivers/net/* to use the
      module_usb_driver() macro which makes the code smaller and a bit
      simpler.
      
      Added bonus is that it removes some unneeded kernel log messages about
      drivers loading and/or unloading.
      
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Roel Kluin <roel.kluin@gmail.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Jiri Pirko <jpirko@redhat.com>
      Cc: Pavel Roskin <proski@gnu.org>
      Cc: Yoann DI-RUZZA <y.diruzza@lim.eu>
      Cc: George <george0505@realtek.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d632eb1b
  32. 03 11月, 2011 1 次提交
  33. 01 11月, 2011 1 次提交
  34. 12 10月, 2011 1 次提交
  35. 04 10月, 2011 1 次提交
    • E
      mac80211: pass vif param to conf_tx() callback · 8a3a3c85
      Eliad Peller 提交于
      tx params should be configured per interface.
      add ieee80211_vif param to the conf_tx callback,
      and change all the drivers that use this callback.
      
      The following spatch was used:
      @rule1@
      struct ieee80211_ops ops;
      identifier conf_tx_op;
      @@
      	ops.conf_tx = conf_tx_op;
      
      @rule2@
      identifier rule1.conf_tx_op;
      identifier hw, queue, params;
      @@
      	conf_tx_op (
      -		struct ieee80211_hw *hw,
      +		struct ieee80211_hw *hw, struct ieee80211_vif *vif,
      		u16 queue,
      		const struct ieee80211_tx_queue_params *params) {...}
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8a3a3c85