1. 28 6月, 2012 1 次提交
  2. 27 6月, 2012 2 次提交
    • L
      rtlwifi: rtl8192se: Fix double inclusion of header pci.h · 46e5129b
      Larry Finger 提交于
      The command "make includecheck" yields the following for the rtlwifi tree:
      
      /home/finger/linux-2.6/drivers/net/wireless/rtlwifi/rtl8192se/sw.c: ../pci.h is included more than once.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      46e5129b
    • L
      rtlwifi: Fix IRQ disabled warning · 5a2766ab
      Larry Finger 提交于
      The PCI-based drivers can generate the following warning:
      
      [ 9497.776350] ------------[ cut here ]------------
      [ 9497.776366] WARNING: at kernel/softirq.c:159 local_bh_enable_ip+0x7a/0xa0()
      [ 9497.776370] Hardware name: 05794NC
      [ 9497.776597] Pid: 6413, comm: hostapd Not tainted 3.3.0-4.fc16.x86_64 #1
      [ 9497.776601] Call Trace:
      [ 9497.776612]  [<ffffffff81057b1f>] warn_slowpath_common+0x7f/0xc0
      [ 9497.776633]  [<ffffffffa034a099>] ? rtl_pci_reset_trx_ring+0x199/0x230
      [rtlwifi]
      [ 9497.776640]  [<ffffffff81057b7a>] warn_slowpath_null+0x1a/0x20
      [ 9497.776646]  [<ffffffff8105f06a>] local_bh_enable_ip+0x7a/0xa0
      [ 9497.776654]  [<ffffffff815f3ef6>] _raw_spin_unlock_bh+0x16/0x20
      [ 9497.776671]  [<ffffffffa03e50de>] destroy_conntrack+0x9e/0x120
      [nf_conntrack]
      [ 9497.776681]  [<ffffffff81511847>] nf_conntrack_destroy+0x17/0x20
      [ 9497.776689]  [<ffffffff814d9c85>] skb_release_head_state+0xe5/0x120
      [ 9497.776695]  [<ffffffff814d98b6>] __kfree_skb+0x16/0xa0
      [ 9497.776700]  [<ffffffff814d9a35>] kfree_skb+0x45/0xc0
      [ 9497.776717]  [<ffffffffa034a099>] rtl_pci_reset_trx_ring+0x199/0x230
      [rtlwifi]
      [ 9497.776734]  [<ffffffffa034a155>] rtl_pci_start+0x25/0x1d0 [rtlwifi]
      [ 9497.776750]  [<ffffffffa03440b5>] rtl_op_start+0x55/0x90 [rtlwifi]
      [ 9497.776785]  [<ffffffffa02c4956>] ieee80211_do_open+0x296/0xa10 [mac80211]
      [ 9497.776794]  [<ffffffff815f7ddd>] ? notifier_call_chain+0x4d/0x70
      [ 9497.776828]  [<ffffffffa02c513d>] ieee80211_open+0x6d/0x80 [mac80211]
      [ 9497.776836]  [<ffffffff814e8b3f>] __dev_open+0x8f/0xe0
      [ 9497.776842]  [<ffffffff814e8de1>] __dev_change_flags+0xa1/0x180
      [ 9497.776847]  [<ffffffff814e8f78>] dev_change_flags+0x28/0x70
      [ 9497.776856]  [<ffffffff8154e99d>] devinet_ioctl+0x61d/0x7b0
      [ 9497.776863]  [<ffffffff8154ef55>] inet_ioctl+0x75/0x90
      [ 9497.776870]  [<ffffffff814cdd50>] sock_do_ioctl+0x30/0x70
      [ 9497.776876]  [<ffffffff814cee09>] sock_ioctl+0x79/0x2f0
      [ 9497.776885]  [<ffffffff81193498>] do_vfs_ioctl+0x98/0x550
      [ 9497.776891]  [<ffffffff811939e1>] sys_ioctl+0x91/0xa0
      [ 9497.776897]  [<ffffffff815fc029>] system_call_fastpath+0x16/0x1b
      [ 9497.776902] ---[ end trace 22886c442489082d ]---
      
      The cause is due to calling kfree_skb() with interrupts disabled.
      
      This bug is discussed in https://bugzilla.redhat.com/show_bug.cgi?id=797709.
      
      Reported-and-Tested by: Ivan Ivanovich <iivanich@gmail.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5a2766ab
  3. 23 6月, 2012 1 次提交
  4. 21 6月, 2012 1 次提交
  5. 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
  6. 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
  7. 15 5月, 2012 1 次提交
  8. 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
  9. 24 4月, 2012 7 次提交
  10. 17 4月, 2012 2 次提交
    • A
      net/wireless: use module_pci_driver · 5b0a3b7e
      Axel Lin 提交于
      This patch converts the drivers in drivers/net/wireless/* to use
      module_pci_driver() macro which makes the code smaller and a bit simpler.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Cc: Nick Kossifidis <mickflemm@gmail.com>
      Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
      Cc: Simon Kelley <simon@thekelleys.org.uk>
      Cc: Jouni Malinen <j@w1.fi>
      Cc: Lennert Buytenhek <buytenh@wantstofly.org>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: linux-wireless@vger.kernel.org
      Acked-by: NLennert Buytenhek <buytenh@wantstofly.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5b0a3b7e
    • L
      rtlwifi: rtl8192ce: Remove false positives for kmemleak · f11bbfd8
      Larry Finger 提交于
      When rtl8192ce is in operation, kmemleak indicates a number of leaks, yet
      when the driver is removed all are gone. These false positives happen
      in two locations:
      
      unreferenced object 0xffff880041124000 (size 9536):
        comm "work_for_cpu", pid 9295, jiffies 4295037203 (age 20596.320s)
        hex dump (first 32 bytes):
          33 00 00 01 01 6d 00 00 00 00 b1 0e 21 0b 00 00  3....m......!...
          01 01 6d 00 00 00 00 8b 20 c0 e9 00 00 01 01 6d  ..m..... ......m
        backtrace:
          [<ffffffff8137a1b1>] kmemleak_alloc+0x21/0x50
          [<ffffffff8138d01f>] kmalloc_large_node+0x9a/0xa6
          [<ffffffff811335a5>] __kmalloc_node_track_caller+0x175/0x3b0
          [<ffffffff812ddfe3>] __alloc_skb+0x73/0x230
          [<ffffffff812de1b8>] dev_alloc_skb+0x18/0x30
          [<ffffffffa091a3b7>] rtl_pci_probe+0x10e0/0x17d2 [rtlwifi]
      -- snip --
      unreferenced object 0xffff8800b4d3f600 (size 256):
        comm "kworker/u:2", pid 13221, jiffies 4297830173 (age 9424.568s)
        hex dump (first 32 bytes):
          1c d6 45 b1 00 88 ff ff 1c d6 45 b1 00 88 ff ff  ..E.......E.....
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff8137a1b1>] kmemleak_alloc+0x21/0x50
          [<ffffffff81130f43>] kmem_cache_alloc_node+0x153/0x270
          [<ffffffff812ddfb6>] __alloc_skb+0x46/0x230
          [<ffffffff812de1b8>] dev_alloc_skb+0x18/0x30
          [<ffffffffa093264a>] rtl92c_set_fw_rsvdpagepkt+0x22a/0x5c0 [rtl8192c_common]
      -- snip --
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f11bbfd8
  11. 15 4月, 2012 1 次提交
  12. 13 4月, 2012 3 次提交
  13. 12 4月, 2012 3 次提交
  14. 11 4月, 2012 2 次提交
  15. 10 4月, 2012 5 次提交
  16. 27 3月, 2012 1 次提交
  17. 20 3月, 2012 1 次提交
  18. 07 3月, 2012 1 次提交
  19. 06 3月, 2012 3 次提交
  20. 28 2月, 2012 1 次提交
  21. 23 2月, 2012 1 次提交
    • T
      rtlwifi: rtl8192se firmware load can overflow target buffer · 3fccdcf5
      Tim Gardner 提交于
      Define RTL8190_MAX_RAW_FIRMWARE_CODE_SIZE which represents the
      maximimum possible firmware file size. Use it in the definition
      of the buffer which receives the firmware file data.
      
      Set RTL8190_MAX_RAW_FIRMWARE_CODE_SIZE closer to the actual size of
      the firmware file, e.g., 90000 (down from hard coded 164000). The current
      size of rtlwifi/rtl8192sefw.bin is 88856.
      
      Set max_fw_size to RTL8190_MAX_RAW_FIRMWARE_CODE_SIZE for the size limit
      check. Fix the error case where max_fw_size is not cleared if the size
      limit check fails.
      
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: linux-wireless@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NTim Gardner <tim.gardner@canonical.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3fccdcf5