1. 09 8月, 2014 1 次提交
  2. 04 3月, 2014 1 次提交
  3. 06 12月, 2013 1 次提交
  4. 26 11月, 2013 1 次提交
    • L
      cfg80211: consolidate passive-scan and no-ibss flags · 8fe02e16
      Luis R. Rodriguez 提交于
      These two flags are used for the same purpose, just
      combine them into a no-ir flag to annotate no initiating
      radiation is allowed.
      
      Old userspace sending either flag will have it treated as
      the no-ir flag. To be considerate to older userspace we
      also send both the no-ir flag and the old no-ibss flags.
      Newer userspace will have to be aware of older kernels.
      
      Update all places in the tree using these flags with the
      following semantic patch:
      
      @@
      @@
      -NL80211_RRF_PASSIVE_SCAN
      +NL80211_RRF_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IBSS
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_PASSIVE_SCAN
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IBSS
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IR | NL80211_RRF_NO_IR
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_NO_IR
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -(NL80211_RRF_NO_IR)
      +NL80211_RRF_NO_IR
      @@
      @@
      -(IEEE80211_CHAN_NO_IR)
      +IEEE80211_CHAN_NO_IR
      
      Along with some hand-optimisations in documentation, to
      remove duplicates and to fix some indentation.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [do all the driver updates in one go]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8fe02e16
  5. 04 6月, 2013 1 次提交
  6. 11 4月, 2013 1 次提交
  7. 10 2月, 2013 1 次提交
  8. 05 2月, 2013 1 次提交
  9. 07 12月, 2012 1 次提交
  10. 17 11月, 2012 1 次提交
  11. 08 9月, 2012 1 次提交
  12. 22 8月, 2012 1 次提交
  13. 14 8月, 2012 1 次提交
    • T
      workqueue: use mod_delayed_work() instead of cancel + queue · 41f63c53
      Tejun Heo 提交于
      Convert delayed_work users doing cancel_delayed_work() followed by
      queue_delayed_work() to mod_delayed_work().
      
      Most conversions are straight-forward.  Ones worth mentioning are,
      
      * drivers/edac/edac_mc.c: edac_mc_workq_setup() converted to always
        use mod_delayed_work() and cancel loop in
        edac_mc_reset_delay_period() is dropped.
      
      * drivers/platform/x86/thinkpad_acpi.c: No need to remember whether
        watchdog is active or not.  @fan_watchdog_active and related code
        dropped.
      
      * drivers/power/charger-manager.c: Seemingly a lot of
        delayed_work_pending() abuse going on here.
        [delayed_]work_pending() are unsynchronized and racy when used like
        this.  I converted one instance in fullbatt_handler().  Please
        conver the rest so that it invokes workqueue APIs for the intended
        target state rather than trying to game work item pending state
        transitions.  e.g. if timer should be modified - call
        mod_delayed_work(), canceled - call cancel_delayed_work[_sync]().
      
      * drivers/thermal/thermal_sys.c: thermal_zone_device_set_polling()
        simplified.  Note that round_jiffies() calls in this function are
        meaningless.  round_jiffies() work on absolute jiffies not delta
        delay used by delayed_work.
      
      v2: Tomi pointed out that __cancel_delayed_work() users can't be
          safely converted to mod_delayed_work().  They could be calling it
          from irq context and if that happens while delayed_work_timer_fn()
          is running, it could deadlock.  __cancel_delayed_work() users are
          dropped.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: NAnton Vorontsov <cbouatmailru@gmail.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Doug Thompson <dougthompson@xmission.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Roland Dreier <roland@kernel.org>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      41f63c53
  14. 09 6月, 2012 1 次提交
    • S
      net/wireless: ipw2100: Fix WARN_ON occurring in wiphy_register called by ipw2100_pci_init_one · aac495a8
      Stanislav Yakovlev 提交于
      The problem was found by Larry Finger:
      http://marc.info/?l=linux-wireless&m=133702401700614&w=2
      
      The problem is identical to the one for ipw2200 which is already fixed:
      http://marc.info/?l=linux-wireless&m=133457257407196&w=2
      
      [   17.766431] ------------[ cut here ]------------
      [   17.766467] WARNING: at net/wireless/core.c:562 wiphy_register+0x34c/0x3c0 [cfg80211]()
      [   17.766471] Hardware name: Latitude D600
      [   17.766474] Modules linked in: ipw2100(+) libipw pcmcia cfg80211 ppdev parport_pc yenta_socket sr_mod pcmcia_rsrc parport iTCO_wdt cdrom sg rfkill pcmcia_
      core lib80211 tg3 video button battery ac iTCO_vendor_support joydev shpchp pcspkr pciehp pci_hotplug autofs4 radeon ttm drm_kms_helper uhci_hcd ehci_hcd rtc
      _cmos thermal drm hwmon i2c_algo_bit i2c_core processor usbcore usb_common ata_generic ata_piix ahci libahci libata
      [   17.766525] Pid: 474, comm: modprobe Not tainted 3.4.0-rc7-wl+ #6
      [   17.766528] Call Trace:
      [   17.766541]  [<c066ad08>] ? printk+0x28/0x2a
      [   17.766552]  [<c0230edd>] warn_slowpath_common+0x6d/0xa0
      [   17.766563]  [<e0b253bc>] ? wiphy_register+0x34c/0x3c0 [cfg80211]
      [   17.766573]  [<e0b253bc>] ? wiphy_register+0x34c/0x3c0 [cfg80211]
      [   17.766578]  [<c0230f2d>] warn_slowpath_null+0x1d/0x20
      [   17.766588]  [<e0b253bc>] wiphy_register+0x34c/0x3c0 [cfg80211]
      [   17.766605]  [<e0b5b0d6>] ipw2100_wdev_init+0x196/0x1c0 [ipw2100]
      [   17.766616]  [<e0b5d962>] ipw2100_pci_init_one+0x2b2/0x694 [ipw2100]
      [   17.766632]  [<c047ce52>] local_pci_probe+0x42/0xb0
      [   17.766637]  [<c047e2b0>] pci_device_probe+0x60/0x90
      [   17.766645]  [<c0376de2>] ? sysfs_create_link+0x12/0x20
      [   17.766654]  [<c050f1f6>] really_probe+0x56/0x2e0
      [   17.766659]  [<c037636d>] ? create_dir+0x5d/0xa0
      [   17.766667]  [<c0518c6b>] ? pm_runtime_barrier+0x3b/0xa0
      [   17.766672]  [<c050f5e4>] driver_probe_device+0x44/0xa0
      [   17.766677]  [<c047e227>] ? pci_match_device+0x97/0xa0
      [   17.766681]  [<c050f6c9>] __driver_attach+0x89/0x90
      [   17.766686]  [<c050f640>] ? driver_probe_device+0xa0/0xa0
      [   17.766691]  [<c050da2a>] bus_for_each_dev+0x3a/0x70
      [   17.766695]  [<c050ee6c>] driver_attach+0x1c/0x30
      [   17.766699]  [<c050f640>] ? driver_probe_device+0xa0/0xa0
      [   17.766704]  [<c050ea77>] bus_add_driver+0x187/0x280
      [   17.766710]  [<c045b9cd>] ? kset_find_obj+0x2d/0x60
      [   17.766715]  [<c047e2e0>] ? pci_device_probe+0x90/0x90
      [   17.766719]  [<c047e2e0>] ? pci_device_probe+0x90/0x90
      [   17.766724]  [<c050fb85>] driver_register+0x65/0x110
      [   17.766729]  [<c047e09d>] __pci_register_driver+0x3d/0xa0
      [   17.766738]  [<e09f705c>] ipw2100_init+0x5c/0x1000 [ipw2100]
      [   17.766743]  [<c020110f>] do_one_initcall+0x2f/0x170
      [   17.766749]  [<e09f7000>] ? 0xe09f6fff
      [   17.766757]  [<c0287ce8>] sys_init_module+0xa8/0x210
      [   17.766766]  [<c067a075>] syscall_call+0x7/0xb
      [   17.766769] ---[ end trace 559898c6bb0d1c75 ]---
      [   17.767093] ipw2100: probe of 0000:02:03.0 failed with error -5
      
      This warning appears only if we apply Ben Hutchings' fix
      http://marc.info/?l=linux-wireless&m=132720204412667&w=2
      for the bug reported by Cesare Leonardi
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656813
      with cfg80211 warning during device registration
      ("cfg80211: failed to add phy80211 symlink to netdev!").
      
      We separate device bring up and registration with network stack
      to avoid the problem.
      Signed-off-by: NStanislav Yakovlev <stas.yakovlev@gmail.com>
      Tested-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      aac495a8
  15. 09 5月, 2012 1 次提交
  16. 15 4月, 2012 1 次提交
  17. 13 4月, 2012 2 次提交
  18. 07 4月, 2012 2 次提交
  19. 09 3月, 2012 1 次提交
  20. 01 3月, 2012 1 次提交
  21. 28 2月, 2012 1 次提交
  22. 01 2月, 2012 1 次提交
  23. 18 11月, 2011 1 次提交
  24. 17 9月, 2011 1 次提交
  25. 25 8月, 2011 2 次提交
  26. 07 7月, 2011 1 次提交
  27. 31 3月, 2011 1 次提交
  28. 04 2月, 2011 1 次提交
  29. 02 2月, 2011 1 次提交
  30. 26 1月, 2011 1 次提交
  31. 18 8月, 2010 2 次提交
    • J
      drivers/net: Convert unbounded kzalloc calls to kcalloc · baeb2ffa
      Joe Perches 提交于
      These changes may be slightly safer in some instances.
      
      There are other kzalloc calls with a multiply, but those
      calls are typically "small fixed #" * sizeof(some pointer)"
      and those are not converted.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Acked-by: NLuciano Coelho <luciano.coelho@nokia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      baeb2ffa
    • J
      ipw2100: don't sync status queue entries · c206a04f
      John W. Linville 提交于
      These are allocated with pci_alloc_consistent, so calling
      pci_dma_sync_single_for_cpu is incorrect usage of the API.  Remove this
      misuse and consequently avoid the following backtrace:
      
      WARNING: at lib/dma-debug.c:902 check_sync+0xce/0x43a()
      Hardware name: 2373HU6
      ipw2100 0000:02:02.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x0000000034e88008] [size=8 bytes]
      Modules linked in: microcode ipw2100(+) snd_seq_device ppdev libipw nsc_ircc snd_pcm lib80211 video output irda parport_pc cfg80211 parport thinkpad_acpi e1000 iTCO_wdt crc_ccitt snd_timer iTCO_vendor_support snd i2c_i801 pcspkr rfkill soundcore joydev snd_page_alloc yenta_socket radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
      Pid: 0, comm: swapper Tainted: G        W   2.6.35-wl+ #8
      Call Trace:
       [<c043aa42>] warn_slowpath_common+0x6a/0x7f
       [<c05d252a>] ? check_sync+0xce/0x43a
       [<c043aaca>] warn_slowpath_fmt+0x2b/0x2f
       [<c05d252a>] check_sync+0xce/0x43a
       [<c046189a>] ? print_lock_contention_bug+0x11/0xb2
       [<c05d2b6f>] debug_dma_sync_single_for_cpu+0x47/0x49
       [<c06cbd3c>] ? ehci_irq+0x31/0x331
       [<f82a224a>] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100]
       [<f82a224a>] ? ipw2100_irq_tasklet+0x24/0x5e9 [ipw2100]
       [<f82a221d>] pci_dma_sync_single_for_cpu.clone.1+0x42/0x4b [ipw2100]
       [<f82a23a2>] ipw2100_irq_tasklet+0x17c/0x5e9 [ipw2100]
       [<c043fd87>] tasklet_action+0x78/0xcb
       [<c0440293>] __do_softirq+0xc4/0x183
       [<c044038d>] do_softirq+0x3b/0x5f
       [<c04404d0>] irq_exit+0x3a/0x6d
       [<c0404423>] do_IRQ+0x8b/0x9f
       [<c04038b5>] common_interrupt+0x35/0x3c
       [<c062ecfa>] ? acpi_idle_enter_simple+0xfe/0x13c
       [<c045007b>] ? exit_itimers+0x2d/0x73
       [<c062ecfc>] ? acpi_idle_enter_simple+0x100/0x13c
       [<c070bf10>] cpuidle_idle_call+0x78/0xdc
       [<c040251c>] cpu_idle+0x9b/0xb7
       [<c07b1dd2>] rest_init+0xa6/0xab
       [<c0a4b96d>] start_kernel+0x389/0x38e
       [<c0a4b0c9>] i386_start_kernel+0xc9/0xd0
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c206a04f
  32. 17 8月, 2010 1 次提交
  33. 12 8月, 2010 1 次提交
    • J
      ipw2100: register pm_qos request before registering pci driver · 2f81b471
      John W. Linville 提交于
      It is necessary to call pm_qos_add_request prior to calling
      pm_qos_update_request.  It was revealed that ipw2100 has been
      doing this wrong since "pm_qos: Get rid of the allocation in
      pm_qos_add_request()" (commit 82f68251)
      added a WARN that results in the following backtrace:
      
      WARNING: at kernel/pm_qos_params.c:264 pm_qos_update_request+0x5e/0x70()
      pm_qos_update_request() called for unknown object
      Call Trace:
      [<c1024088>] ? warn_slowpath_common+0x78/0xb0
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<c1024153>] ? warn_slowpath_fmt+0x33/0x40
      [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
      [<f89fe15f>] ? ipw2100_up+0x3f/0xf10 [ipw2100]
      [<c11961c9>] ? vsnprintf+0xc9/0x530
      [<f89ff36c>] ? ipw2100_net_init+0x2c/0x1c0 [ipw2100]
      [<c12f542d>] ? register_netdevice+0x7d/0x3c0
      [<f89f9b00>] ? ipw2100_irq_tasklet+0x910/0x9a0 [ipw2100]
      [<c12f579f>] ? register_netdev+0x2f/0x40
      [<f89fd471>] ? ipw2100_pci_init_one+0xd21/0x1060 [ipw2100]
      [<c11a5ebb>] ? local_pci_probe+0xb/0x10
      [<c11a6d49>] ? pci_device_probe+0x69/0x90
      [<c1224704>] ? driver_probe_device+0x74/0x180
      [<c10dd15a>] ? sysfs_create_dir+0x6a/0xb0
      [<c1224889>] ? __driver_attach+0x79/0x80
      [<c1224810>] ? __driver_attach+0x0/0x80
      [<c1223fa2>] ? bus_for_each_dev+0x52/0x80
      [<c1224586>] ? driver_attach+0x16/0x20
      [<c1224810>] ? __driver_attach+0x0/0x80
      [<c122395f>] ? bus_add_driver+0x17f/0x250
      [<c11a5ec0>] ? pci_device_shutdown+0x0/0x20
      [<c11a6c80>] ? pci_device_remove+0x0/0x40
      [<c1224b13>] ? driver_register+0x63/0x120
      [<c11a6f96>] ? __pci_register_driver+0x36/0xa0
      [<f84f9048>] ? ipw2100_init+0x48/0x67 [ipw2100]
      [<c1001122>] ? do_one_initcall+0x32/0x170
      [<c1087078>] ? __vunmap+0xb8/0xf0
      [<f84f9000>] ? ipw2100_init+0x0/0x67 [ipw2100]
      [<c10510c1>] ? sys_init_module+0x161/0x1000
      [<c108f847>] ? sys_close+0x67/0xe0
      [<c13647c1>] ? syscall_call+0x7/0xb
      
      This patch moves pm_qos_add_request prior to pci_register_driver in
      ipw2100 in order to avoid this problem.
      Reported-by: NChristoph Fritz <chf.fritz@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2f81b471
  34. 05 8月, 2010 1 次提交
  35. 21 7月, 2010 1 次提交
  36. 19 7月, 2010 1 次提交