1. 29 Jun, 2012 18 commits
  2. 28 Jun, 2012 22 commits
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · ca33c00f
      David S. Miller authored
      John Linville says:
      
      ====================
      Amitkumar Karwar gives us two mwifiex fixes: one fixes some skb
      manipulations when handling some event messages; and another that
      does some similar fixing on an error path.
      
      Avinash Patil gives us a fix for for a memory leak in mwifiex.
      
      Dan Rosenberg offers an NFC NCI fix to enforce some message length
      limits to prevent buffer overflows.
      
      Eliad Peller provides a mac80211 fix to prevent some frames from
      being built with an invalid BSSID.
      
      Eric Dumazet sends an NFC fix to prevent a BUG caused by a NULL
      pointer dereference.
      
      Felix Fietkau has an ath9k fix for a regression causing
      LEAP-authenticated connection failures.
      
      Johannes Berg provides an iwlwifi fix that eliminates some log SPAM
      after an authentication/association timeout.  He also provides a
      mac80211 fix to prevent incorrectly addressing certain action frames
      (and in so doing, to comply with the 802.11 specs).
      
      Larry Finger provides a few USB IDs for the rtl8192cu driver --
      should be harmless.
      
      Panayiotis Karabassis provices a one-liner to fix kernel bug 42903
      (a system freeze).
      
      Randy Dunlap provides a one-line Kconfig change to prevent build
      failures with some configurations.
      
      Stone Piao provides an mwifiex sequence numbering fix and a fix
      to prevent mwifiex from attempting to include eapol frames in an
      aggregation frame.
      
      Finally, Tom Hughes provides an ath9k fix for a NULL pointer
      dereference.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca33c00f
    • Claudiu Manoil's avatar
      gianfar: Fix RXICr/TXICr programming for multi-queue mode · 9740e001
      Claudiu Manoil authored
      The correct behavior is to program the interrupt coalescing regs
      (RXICr/TXICr) in accordance with the Rx/Tx Q's "rx/txcoalescing"
      flag. That is, if the coalescing flag is 0 for a given Rx/Tx queue
      then the corresponding coalescing register should be cleared.
      This behavior is correctly implemented for the single-queue mode
      (SQ_SG_MODE), but not for the multi-queue mode (MQ_MG_MODE).
      This fixes the later case.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9740e001
    • Vinson Lee's avatar
      net: Downgrade CAP_SYS_MODULE deprecated message from error to warning. · 7cecb523
      Vinson Lee authored
      Make logging level consistent with other deprecation messages in net
      subsystem.
      Signed-off-by: default avatarVinson Lee <vlee@twitter.com>
      Cc: David Mackey <tdmackey@twitter.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7cecb523
    • Bjørn Mork's avatar
      net: qmi_wwan: fix Oops while disconnecting · d9b87068
      Bjørn Mork authored
      usbnet_disconnect() will set intfdata to NULL before calling
      the minidriver unbind function.  The cdc_wdm subdriver cannot
      know that it is disconnecting until the qmi_wwan unbind
      function has called its disconnect function.  This means that
      we must be able to support the cdc_wdm subdriver operating
      normally while usbnet_disconnect() is running, and in
      particular that intfdata may be NULL.
      
      The only place this matters is in qmi_wwan_cdc_wdm_manage_power
      which is called from cdc_wdm.  Simply testing for NULL
      intfdata there is sufficient to allow it to continue working
      at all times.
      
      Fixes this Oops where a cdc-wdm device was closed while the
      USB device was disconnecting, causing wdm_release to call
      qmi_wwan_cdc_wdm_manage_power after intfdata was set to
      NULL by usbnet_disconnect:
      
      [41819.087460] BUG: unable to handle kernel NULL pointer dereference at 00000080
      [41819.087815] IP: [<f8640458>] qmi_wwan_manage_power+0x68/0x90 [qmi_wwan]
      [41819.088028] *pdpt = 000000000314f001 *pde = 0000000000000000
      [41819.088028] Oops: 0002 [#1] SMP
      [41819.088028] Modules linked in: qmi_wwan option usb_wwan usbserial usbnet
      cdc_wdm nls_iso8859_1 nls_cp437 vfat fat usb_storage bnep rfcomm bluetooth
      parport_pc ppdev binfmt_misc iptable_nat nf_nat nf_conntrack_ipv4
      nf_conntrack nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables
      x_tables dm_crypt uvcvideo snd_hda_codec_realtek snd_hda_intel
      videobuf2_core snd_hda_codec joydev videodev videobuf2_vmalloc
      hid_multitouch snd_hwdep arc4 videobuf2_memops snd_pcm snd_seq_midi
      snd_rawmidi snd_seq_midi_event ath9k mac80211 snd_seq ath9k_common ath9k_hw
      ath snd_timer snd_seq_device sparse_keymap dm_multipath scsi_dh coretemp
      mac_hid snd soundcore cfg80211 snd_page_alloc psmouse serio_raw microcode
      lp parport dm_mirror dm_region_hash dm_log usbhid hid i915 drm_kms_helper
      drm r8169 i2c_algo_bit wmi video [last unloaded: qmi_wwan]
      [41819.088028]
      [41819.088028] Pid: 23292, comm: qmicli Not tainted 3.4.0-5-generic #11-Ubuntu GIGABYTE T1005/T1005
      [41819.088028] EIP: 0060:[<f8640458>] EFLAGS: 00010246 CPU: 1
      [41819.088028] EIP is at qmi_wwan_manage_power+0x68/0x90 [qmi_wwan]
      [41819.088028] EAX: 00000000 EBX: 00000000 ECX: 000000c3 EDX: 00000000
      [41819.088028] ESI: c3b27658 EDI: 00000000 EBP: c298bea4 ESP: c298be98
      [41819.088028]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      [41819.088028] CR0: 8005003b CR2: 00000080 CR3: 3605e000 CR4: 000007f0
      [41819.088028] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      [41819.088028] DR6: ffff0ff0 DR7: 00000400
      [41819.088028] Process qmicli (pid: 23292, ti=c298a000 task=f343b280 task.ti=c298a000)
      [41819.088028] Stack:
      [41819.088028]  00000000 c3b27658 e2a80d00 c298beb0 f864051a c3b27600 c298bec0 f9027099
      [41819.088028]  c2fd6000 00000008 c298bef0 c1147f96 00000001 00000000 00000000 f4e54790
      [41819.088028]  ecf43a00 ecf43a00 c2fd6008 c2fd6000 ebbd7600 ffffffb9 c298bf08 c1144474
      [41819.088028] Call Trace:
      [41819.088028]  [<f864051a>] qmi_wwan_cdc_wdm_manage_power+0x1a/0x20 [qmi_wwan]
      [41819.088028]  [<f9027099>] wdm_release+0x69/0x70 [cdc_wdm]
      [41819.088028]  [<c1147f96>] fput+0xe6/0x210
      [41819.088028]  [<c1144474>] filp_close+0x54/0x80
      [41819.088028]  [<c1046a65>] put_files_struct+0x75/0xc0
      [41819.088028]  [<c1046b56>] exit_files+0x46/0x60
      [41819.088028]  [<c1046f81>] do_exit+0x141/0x780
      [41819.088028]  [<c107248f>] ? wake_up_state+0xf/0x20
      [41819.088028]  [<c1053f48>] ? signal_wake_up+0x28/0x40
      [41819.088028]  [<c1054f3b>] ? zap_other_threads+0x6b/0x80
      [41819.088028]  [<c1047864>] do_group_exit+0x34/0xa0
      [41819.088028]  [<c10478e8>] sys_exit_group+0x18/0x20
      [41819.088028]  [<c15bb7df>] sysenter_do_call+0x12/0x28
      [41819.088028] Code: 04 83 e7 01 c1 e7 03 0f b6 42 18 83 e0 f7 09 f8 88 42
      18 8b 43 04 e8 48 9a dd c8 89 f0 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d c3 90
      <f0> ff 88 80 00 00 00 0f 94 c0 84 c0 75 b7 31 f6 8b 5d f4 89 f0
      [41819.088028] EIP: [<f8640458>] qmi_wwan_manage_power+0x68/0x90 [qmi_wwan] SS:ESP 0068:c298be98
      [41819.088028] CR2: 0000000000000080
      [41819.149492] ---[ end trace 0944479ff8257f55 ]---
      Reported-by: default avatarMarius Bjørnstad Kotsbak <marius.kotsbak@gmail.com>
      Cc: <stable@vger.kernel.org> # v3.4
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d9b87068
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 9acc7bde
      Linus Torvalds authored
      Pull hwmon changes from Guenter Roeck:
       "Just e-mail address updates"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: Update my e-mail address
        hwmon: (applesmc) correct email address for Jesper Juhl
      9acc7bde
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · ccce27c0
      Linus Torvalds authored
      Pull watchdog fixes from Wim Van Sebroeck:
       "This fixes:
         - the WDIOC_GETSTATUS return value
         - the unregister of all NMI events on exit
         - the loading of the iTCO_wdt driver after the conversion to the
           lpc_ich mfd model."
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: core: fix WDIOC_GETSTATUS return value
        watchdog: hpwdt: Unregister NMI events on exit.
        watchdog: iTCO_wdt: add platform driver module alias
      ccce27c0
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 221d3ebf
      Linus Torvalds authored
      Pull UDF fixes from Jan Kara:
       "Make UDF more robust in presence of corrupted filesystem"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fortify loading of sparing table
        udf: Avoid run away loop when partition table length is corrupted
        udf: Use 'ret' instead of abusing 'i' in udf_load_logicalvol()
      221d3ebf
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs · 9a7c6b73
      Linus Torvalds authored
      Pull ubi/ubifs fixes from Artem Bityutskiy:
       "Fix the debugfs regression - we never enable it because incorrect
        'IS_ENABLED()' macro usage: should be 'IS_ENABLED(CONFIG_DEBUG_FS)',
        but we had 'IS_ENABLED(DEBUG_FS)'.  Also fix incorrect assertion."
      
      * tag 'upstream-3.5-rc5' of git://git.infradead.org/linux-ubifs:
        UBI: correct usage of IS_ENABLED()
        UBIFS: correct usage of IS_ENABLED()
        UBIFS: fix assertion
      9a7c6b73
    • Wim Van Sebroeck's avatar
      watchdog: core: fix WDIOC_GETSTATUS return value · 8b9468d4
      Wim Van Sebroeck authored
      In commit 7a879824 we added
      a wrapper for the WDIOC_GETSTATUS ioctl call. The code results
      however in a different behaviour: it returns an error if the
      driver doesn't support the status operation. This is not
      according to the API that says that when we don't support
      the status operation, that we just should return a 0 value.
      Only when the device isn't there anymore, we should return an
      error.
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      8b9468d4
    • Mingarelli, Thomas's avatar
      watchdog: hpwdt: Unregister NMI events on exit. · a089361c
      Mingarelli, Thomas authored
      This patch is to unregister for NMI events upon exit. Also we are now
      making the default setting for allow_kdump enabled.
      Signed-off-by: default avatarThomas Mingarelli <thomas.mingarelli@hp.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      a089361c
    • Jan Beulich's avatar
      watchdog: iTCO_wdt: add platform driver module alias · e5de32e3
      Jan Beulich authored
      The recent conversion of iTCO_wdt resulted in the driver no longer
      getting loaded automatically, since it no longer has a
      MODULE_DEVICE_TABLE() included. As the lpc_ich driver now creates a
      platform device, auto-loading can easily be done by having a respective
      module alias in place.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: Aaron Sierra <asierra@xes-inc.com>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      e5de32e3
    • Amitkumar Karwar's avatar
      mwifiex: retrieve correct max_power information in reg_notifier handler · 34202e28
      Amitkumar Karwar authored
      As we don't provide custom regulatory rules to cfg80211,
      "chan->max_power" remains uninitialized (0dbm) and
      "chan->max_reg_power" will contain maximum power for a channel
      extracted from regulatory rules provided by CRDA; hence use
      "chan->max_reg_power" in reg_notifier handler instead of
      "chan->max_power" to set max_power in firmware.
      Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      34202e28
    • Amitkumar Karwar's avatar
      mwifiex: do not advertise custom regulatory domain capability · 2041d7df
      Amitkumar Karwar authored
      Since we don't support custom regulatory domains,
      WIPHY_FLAG_CUSTOM_REGULATORY should not be enabled during wiphy
      registration.
      Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2041d7df
    • Amitkumar Karwar's avatar
      mwifiex: use correct firmware command to get power limits · caa8984f
      Amitkumar Karwar authored
      "priv->max_tx_power_level" and "priv->min_tx_power_level" variables
      are initialized to maximum and minimum power levels supported by
      hardware by sending correct firmware command.
      Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      caa8984f
    • Amitkumar Karwar's avatar
      mwifiex: wakeup main thread to handle command queued · 1a1fb970
      Amitkumar Karwar authored
      We miss to wakeup main thread after adding command to cmd pending
      queue at follwing places. These commands are handled later when
      main thread is woken up for handling an interrupt for sleep event
      from firmware. This adds worst case delay of 50msec.
      
      1) We don't wakeup main thread when asynchronous command is added
      to cmd pending queue. Move queue_work() call from
      mwifiex_wait_queue_complete() to mwifiex_send_cmd_async() to wakeup
      main thread for sync as well as async commands.
      
      2) Scan operation is triggered due to following reasons
         a) request from user (ex. "iw scan" command)
         b) Scan performed by driver internally.
         In first case main thread is woken up when first scan command is
      queued in cmd pending queue (we don't need to wakeup main thread for
      subsequent scan commands, because they are queued in scan command
      response handler), but it is not done for second case. queue_work()
      is moved inside mwifiex_scan_networks() to handle both the cases.
      Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarAvinash Patil <patila@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1a1fb970
    • Felix Fietkau's avatar
      ath9k: de-duplicate initvals · 46997917
      Felix Fietkau authored
      The initvals tool from https://github.com/mcgrof/qca-swiss-army-knife has
      been modified to detect identical initval tables and replace them with
      macros. This patch contains the generated changes.
      
      On MIPS this reduces the binary size by 24 KB with no runtime changes.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      46997917
    • Felix Fietkau's avatar
      ath9k: update AR934x initvals to latest version · 589ebd85
      Felix Fietkau authored
      Generated using the initvals tool from the qca-swiss-army-knife repository
      from https://github.com/mcgrof/qca-swiss-army-knifeSigned-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      589ebd85
    • Mohammed Shafi Shajakhan's avatar
      ath9k: Fix signedness in a MCI debug message · d8fffb4a
      Mohammed Shafi Shajakhan authored
      seems i got a message like this
      ath: phy0: BT_Status_Update: is_link=0, linkId=2,
      state=1, SEQ=-2085766476 initially.
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d8fffb4a
    • Mohammed Shafi Shajakhan's avatar
      ath9k_hw: make use of the wrapper to check for MCI init · 81294489
      Mohammed Shafi Shajakhan authored
      ath9k_hw_mci_is_enabled wrapper also takes care of
      ATH9K_HW_CAP_MCI being set for the AR9462 under test.
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      81294489
    • Felix Fietkau's avatar
      ath9k: fix ANI operation in AP mode · 73dc3eb8
      Felix Fietkau authored
      ath9k_ani_reset (which is called at reset time) uses a state variable
      ani->update_ani to prevent the ANI noise immunity state on the operating
      channel from being overwritten by background scans. Unfortunately this
      is also being set for AP mode, since it's mixed with code that is only
      supposed to change the default settings after a reset.
      
      In AP mode this has the side effect of having ANI run, but being unable to
      change its runtime noise immunity level, making it effectively useless.
      
      Fix this by getting rid of ani->update_ani and passing a parameter to
      ath9k_hw_set_ofdm_nil and ath9k_hw_set_cck_nil instead.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      73dc3eb8
    • Paul Bolle's avatar
      iwlegacy: print how long queue was actually stuck · 26b6da6b
      Paul Bolle authored
      Every now and then, after resuming from suspend, the iwlegacy driver
      prints
          iwl4965 0000:03:00.0: Queue 2 stuck for 2000 ms.
          iwl4965 0000:03:00.0: On demand firmware reload
      
      I have no idea what causes these errors. But the code currently uses
      wd_timeout in the first error. wd_timeout will generally be set at
      IL_DEF_WD_TIMEOUT (ie, 2000). Perhaps printing for how long the queue
      was actually stuck can clarify the cause of these errors.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      26b6da6b
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 4a9c4697
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nearly all intel, one missing license header in nouveau, nothing
        majorly earth shattering."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        Revert "drm/i915: allow PCH PWM override on IVB"
        drm/nouveau: add license header to prime.
        drm/i915: Fix eDP blank screen after S3 resume on HP desktops
        drm/i915: rip out the PM_IIR WARN
      4a9c4697