1. 31 5月, 2012 2 次提交
  2. 30 5月, 2012 19 次提交
  3. 27 5月, 2012 2 次提交
    • G
      ipv6: fix incorrect ipsec fragment · 0c183379
      Gao feng 提交于
      Since commit ad0081e4
      "ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed"
      the fragment of packets is incorrect.
      because tunnel mode needs IPsec headers and trailer for all fragments,
      while on transport mode it is sufficient to add the headers to the
      first fragment and the trailer to the last.
      
      so modify mtu and maxfraglen base on ipsec mode and if fragment is first
      or last.
      
      with my test,it work well(every fragment's size is the mtu)
      and does not trigger slow fragment path.
      
      Changes from v1:
      	though optimization, mtu_prev and maxfraglen_prev can be delete.
      	replace xfrm mode codes with dst_entry's new frag DST_XFRM_TUNNEL.
      	add fuction ip6_append_data_mtu to make codes clearer.
      Signed-off-by: NGao feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c183379
    • B
      xfrm: take net hdr len into account for esp payload size calculation · 91657eaf
      Benjamin Poirier 提交于
      Corrects the function that determines the esp payload size. The calculations
      done in esp{4,6}_get_mtu() lead to overlength frames in transport mode for
      certain mtu values and suboptimal frames for others.
      
      According to what is done, mainly in esp{,6}_output() and tcp_mtu_to_mss(),
      net_header_len must be taken into account before doing the alignment
      calculation.
      Signed-off-by: NBenjamin Poirier <bpoirier@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      91657eaf
  4. 25 5月, 2012 17 次提交
    • S
      mac80211: Fix race in checking AP status by sending null frame · 992e68bf
      Soumik Das 提交于
      mac80211 tries to verify the existence of the current AP by
      probing or sending a NULL frame in function
      ieee80211_mgd_probe_ap_send. It 1st sends a null frame to the AP,
      increments probe_send_count and waits for the ACK to the NULL
      frame for a finite duration of time. At times, it happens that by
      the time mac80211 gets to increment probe_send_count, the ACK for
      the NULL frame transmitted has already been processed. This leads
      to a race condition where mac80211 times out waiting for the ACK
      for the NULL frame causing unnecessary disconnection with the AP.
      Signed-off-by: NSoumik Das <soumik.das@stericsson.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      992e68bf
    • H
      brcmfmac: use vmalloc to allocate mem for the firmware · edb9bc9a
      Hauke Mehrtens 提交于
      The firmware is more than 300KB big and you should not use kmalloc for
      such big allocations. This allocation with kmalloc failed on my mips
      based device (BCM47186).
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Acked-by: NFranky Lin <frankyl@broadcom.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      edb9bc9a
    • D
      NFC: potential integer overflow problem in check_crc() · 885ba1da
      Dan Carpenter 提交于
      If "buf[0]" is 255 then "len" gets set to 0.  The call to
      "crc_ccitt(0xffff, buf, len - 2);" casts the "len - 2" to a high
      positive number which is ugly.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      885ba1da
    • G
      wl1251: fix oops on early interrupt · f380f2c4
      Grazvydas Ignotas 提交于
      This driver disables interrupt just after requesting it and enables it
      later, after interface is up. However currently there is a time window
      between request_irq() and disable_irq() where if interrupt arrives, the
      driver oopses because it's not yet ready to process it. This can be
      reproduced by inserting the module, associating and removing the module
      multiple times.
      
      Eliminate this race by setting IRQF_NOAUTOEN flag before request_irq().
      
      Cc: stable@vger.kernel.org # v2.6.37+
      Signed-off-by: NGrazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f380f2c4
    • J
      iwlwifi: fix memory leak if opmode fails to init · 75813bde
      Johannes Berg 提交于
      If drv->op_mode is NULL after trying to init the
      opmode, we go to the wrong label. Fix this, and
      clean up the code a bit.
      Reviewed-by: NGregory Greenman <gregory.greenman@intel.com>
      Reviewed-by: NGuy Cohen <guy.cohen@intel.com>
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      75813bde
    • M
      iwlwifi: do not send lq cmd when station add fails · f4c37176
      Meenakshi Venkataraman 提交于
      When adding a station fails in
      iwl_restore_stations, the driver treats it
      like a successful station add and sends a
      link quality command, when it it shouldn't.
      
      This patch fixes one of the potential
      sources for kernel warnings like this one:
      
      WARNING: at drivers/net/wireless/iwlwifi/iwl-agn-sta.c:905 iwl_send_lq_cmd+0x130/0x217 [iwlwifi]()
      Hardware name: 3323A2G
      Modules linked in: ...
      Pid: 17359, comm: kworker/u:2 Tainted: G           O 3.3.0-wl+ #1
      Call Trace:
       [<ffffffff81039620>] warn_slowpath_common+0x7e/0x96
       [<ffffffff8103964d>] warn_slowpath_null+0x15/0x17
       [<ffffffffa02a9f0b>] iwl_send_lq_cmd+0x130/0x217 [iwlwifi]
       [<ffffffffa02aa1fb>] iwl_restore_stations+0x209/0x289 [iwlwifi]
       [<ffffffffa02b07c2>] iwlagn_commit_rxon+0x602/0x7bd [iwlwifi]
       [<ffffffffa02b111f>] iwlagn_bss_info_changed+0x247/0x31a [iwlwifi]
       [<ffffffffa0861437>] ieee80211_bss_info_change_notify+0x1a5/0x1ba [mac80211]
       [<ffffffffa088afad>] ieee80211_destroy_auth_data+0x4b/0x70 [mac80211]
       [<ffffffffa088df26>] ieee80211_sta_work+0xb5/0x954 [mac80211]
      Signed-off-by: NMeenakshi Venkataraman <meenakshi.venkataraman@intel.com>
      Reviewed-by: NWey-Yi W Guy <wey-yi.w.guy@intel.com>
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f4c37176
    • J
      iwlwifi: remove ucode16 option · a7b2ad55
      Johannes Berg 提交于
      The ucode16 option is still very much work in
      progress, so there's no need to ask any users
      about it. Remove the option and code for now,
      we'll put it back when it's actually working.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a7b2ad55
    • M
      iwlwifi: do not use shadow registers by default · 66a77072
      Meenakshi Venkataraman 提交于
      Shadow registers in the device are meant to
      allow the driver to update certain device
      registers without needing to wake up all
      components of the device. However, using
      this feature in the device causes
      communication between the driver and the
      device to become unreliable, resulting in
      host command timeouts.
      
      Disable this feature by default till a fix is
      available for the bug.
      
      Cc: stable@vger.kernel.org #2.6.38+
      Signed-off-by: NMeenakshi Venkataraman <meenakshi.venkataraman@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      66a77072
    • E
      iwlwifi: fix the Transmit Frame Descriptor rings · ebed633c
      Emmanuel Grumbach 提交于
      The logic that allows to have a short TFD queue was completely wrong.
      We do maintain 256 Transmit Frame Descriptors, but they point to
      recycled buffers. We used to attach and de-attach different TFDs for
      the same buffer and it worked since they pointed to the same buffer.
      
      Also zero the number of BDs after unmapping a TFD. This seems not
      necessary since we don't reclaim the same TFD twice, but I like
      housekeeping.
      
      This patch solves this warning:
      
      [ 6427.079855] WARNING: at lib/dma-debug.c:866 check_unmap+0x727/0x7a0()
      [ 6427.079859] Hardware name: Latitude E6410
      [ 6427.079865] iwlwifi 0000:02:00.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000296d393c] [size=8 bytes]
      [ 6427.079870] Modules linked in: ...
      [ 6427.079950] Pid: 6613, comm: ifconfig Tainted: G           O 3.3.3 #5
      [ 6427.079954] Call Trace:
      [ 6427.079963]  [<c10337a2>] warn_slowpath_common+0x72/0xa0
      [ 6427.079982]  [<c1033873>] warn_slowpath_fmt+0x33/0x40
      [ 6427.079988]  [<c12dcb77>] check_unmap+0x727/0x7a0
      [ 6427.079995]  [<c12dcdaa>] debug_dma_unmap_page+0x5a/0x80
      [ 6427.080024]  [<fe2312ac>] iwlagn_unmap_tfd+0x12c/0x180 [iwlwifi]
      [ 6427.080048]  [<fe231349>] iwlagn_txq_free_tfd+0x49/0xb0 [iwlwifi]
      [ 6427.080071]  [<fe228e37>] iwl_tx_queue_unmap+0x67/0x90 [iwlwifi]
      [ 6427.080095]  [<fe22d221>] iwl_trans_pcie_stop_device+0x341/0x7b0 [iwlwifi]
      [ 6427.080113]  [<fe204b0e>] iwl_down+0x17e/0x260 [iwlwifi]
      [ 6427.080132]  [<fe20efec>] iwlagn_mac_stop+0x6c/0xf0 [iwlwifi]
      [ 6427.080168]  [<fd8480ce>] ieee80211_stop_device+0x5e/0x190 [mac80211]
      [ 6427.080198]  [<fd833208>] ieee80211_do_stop+0x288/0x620 [mac80211]
      [ 6427.080243]  [<fd8335b7>] ieee80211_stop+0x17/0x20 [mac80211]
      [ 6427.080250]  [<c148dac1>] __dev_close_many+0x81/0xd0
      [ 6427.080270]  [<c148db3d>] __dev_close+0x2d/0x50
      [ 6427.080276]  [<c148d152>] __dev_change_flags+0x82/0x150
      [ 6427.080282]  [<c148e3e3>] dev_change_flags+0x23/0x60
      [ 6427.080289]  [<c14f6320>] devinet_ioctl+0x6a0/0x770
      [ 6427.080296]  [<c14f8705>] inet_ioctl+0x95/0xb0
      [ 6427.080304]  [<c147a0f0>] sock_ioctl+0x70/0x270
      
      Cc: stable@vger.kernel.org
      Reported-by: NAntonio Quartulli <ordex@autistici.org>
      Tested-by: NAntonio Quartulli <ordex@autistici.org>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: NWey-Yi W Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ebed633c
    • M
      iwlwifi: update BT traffic load states correctly · 882dde8e
      Meenakshi Venkataraman 提交于
      When BT traffic load changes from its
      previous state, a new LQ command needs to be
      sent down to the firmware. This needs to
      be done only once per change. The state
      variable that keeps track of this change is
      last_bt_traffic_load. However, it was not
      being updated when the change had been
      handled. Not updating this variable was
      causing a flood of advanced BT config
      commands to be sent to the firmware. Fix
      this.
      
      Cc: stable@vger.kernel.org #2.6.38+
      Signed-off-by: NMeenakshi Venkataraman <meenakshi.venkataraman@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      882dde8e
    • J
      net/wanrouter: Deprecate and schedule for removal · f0d1b3c2
      Joe Perches 提交于
      No one uses this on current kernels anymore.
      
      Let it be known it's going to be removed eventually.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f0d1b3c2
    • S
      xen/netback: Calculate the number of SKB slots required correctly · e26b203e
      Simon Graham 提交于
      When calculating the number of slots required for a packet header, the code
      was reserving too many slots if the header crossed a page boundary. Since
      netbk_gop_skb copies the header to the start of the page, the count of
      slots required for the header should be based solely on the header size.
      
      This problem is easy to reproduce if a VIF is bridged to a USB 3G modem
      device as the skb->data value always starts near the end of the first page.
      Signed-off-by: NSimon Graham <simon.graham@citrix.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e26b203e
    • D
      solos-pci: Fix DMA support · b4bd8ad9
      David Woodhouse 提交于
      DMA support has finally made its way to the top of the TODO list, having
      realised that a Geode using MMIO can't keep up with two ADSL2+ lines
      each running at 21Mb/s.
      
      This patch fixes a couple of bugs in the DMA support in the driver, so
      once the corresponding FPGA update is complete and tested everything
      should work properly.
      
      We weren't storing the currently-transmitting skb, so we were never
      unmapping it and never freeing/popping it when the TX was done.
      And the addition of pci_set_master() is fairly self-explanatory.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4bd8ad9
    • J
      MAINTAINERS · f935f3f8
      jamal 提交于
      After about two decades, I am giving up on cyberus.
      Nabwaga Manyanga.
      Signed-off-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f935f3f8
    • B
      net: qmi_wwan: Add Sierra Wireless device IDs · 5e071b5d
      Bjørn Mork 提交于
      Some additional Gobi3K IDs found in the BSD/GPL licensed
      out-of-tree GobiNet driver from Sierra Wireless.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e071b5d
    • L
      Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux · f2fde3a6
      Linus Torvalds 提交于
      Pull main drm updates from Dave Airlie:
       "This is the main merge window request for the drm.
      
        It's big, but jam packed will lots of features and of course 0
        regressions.  (okay maybe there'll be one).
      
        Highlights:
      
         - new KMS drivers for server GPU chipsets: ast, mgag200 and cirrus
           (qemu only).  These drivers use the generic modesetting drivers.
      
         - initial prime/dma-buf support for i915, nouveau, radeon, udl and
           exynos
      
         - switcheroo audio support: so GPUs with HDMI can turn off the sound
           driver without crashing stuff.
      
         - There are some patches drifting outside drivers/gpu into x86 and
           EFI for better handling of multiple video adapters in Apple Macs,
           they've got correct acks except one trivial fixup.
      
         - Core:
      	edid parser has better DMT and reduced blanking support,
      	crtc properties,
      	plane properties,
      
         - Drivers:
      	exynos: add 2D core accel support, prime support, hdmi features
      	intel: more Haswell support, initial Valleyview support, more
      	    hdmi infoframe fixes, update MAINTAINERS for Daniel, lots of
      	    cleanups and fixes
      	radeon: more HDMI audio support, improved GPU lockup recovery
      	    support, remove nested mutexes, less memory copying on PCIE, fix
      	    bus master enable race (kexec), improved fence handling
      	gma500: cleanups, 1080p support, acpi fixes
      	nouveau: better nva3 memory reclocking, kepler accel (needs
      	    external firmware rip), async buffer moves on nv84+ hw.
      
        I've some more dma-buf patches that rely on the dma-buf merge for vmap
        stuff, and I've a few fixes building up, but I'd decided I'd better
        get rid of the main pull sooner rather than later, so the audio guys
        are also unblocked."
      
      Fix up trivial conflict due to some duplicated changes in
      drivers/gpu/drm/i915/intel_ringbuffer.c
      
      * 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (605 commits)
        drm/nouveau/nvd9: Fix GPIO initialisation sequence.
        drm/nouveau: Unregister switcheroo client on exit
        drm/nouveau: Check dsm on switcheroo unregister
        drm/nouveau: fix a minor annoyance in an output string
        drm/nouveau: turn a BUG into a WARN
        drm/nv50: decode PGRAPH DATA_ERROR = 0x24
        drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks
        drm/nvd9/copy: initialise copy engine, seems to work like nvc0
        drm/nvc0/ttm: use copy engines for async buffer moves
        drm/nva3/ttm: use copy engine for async buffer moves
        drm/nv98/ttm: add in a (disabled) crypto engine buffer copy method
        drm/nv84/ttm: use crypto engine for async buffer copies
        drm/nouveau/ttm: untangle code to support accelerated buffer moves
        drm/nouveau/fbcon: use fence for sync, rather than notifier
        drm/nv98/crypt: non-stub implementation of the engine hooks
        drm/nouveau/fifo: turn all fifo modules into engine modules
        drm/nv50/graph: remove ability to do interrupt-driven context switching
        drm/nv50: remove manual context unload on context destruction
        drm/nv50: remove execution engine context saves on suspend
        drm/nv50/fifo: use hardware channel kickoff functionality
        ...
      f2fde3a6
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 28f3d717
      Linus Torvalds 提交于
      Pull more networking updates from David Miller:
       "Ok, everything from here on out will be bug fixes."
      
      1) One final sync of wireless and bluetooth stuff from John Linville.
         These changes have all been in his tree for more than a week, and
         therefore have had the necessary -next exposure.  John was just away
         on a trip and didn't have a change to send the pull request until a
         day or two ago.
      
      2) Put back some defines in user exposed header file areas that were
         removed during the tokenring purge.  From Stephen Hemminger and Paul
         Gortmaker.
      
      3) A bug fix for UDP hash table allocation got lost in the pile due to
         one of those "you got it..  no I've got it.." situations.  :-)
      
         From Tim Bird.
      
      4) SKB coalescing in TCP needs to have stricter checks, otherwise we'll
         try to coalesce overlapping frags and crash.  Fix from Eric Dumazet.
      
      5) RCU routing table lookups can race with free_fib_info(), causing
         crashes when we deref the device pointers in the route.  Fix by
         releasing the net device in the RCU callback.  From Yanmin Zhang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)
        tcp: take care of overlaps in tcp_try_coalesce()
        ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
        mm: add a low limit to alloc_large_system_hash
        ipx: restore token ring define to include/linux/ipx.h
        if: restore token ring ARP type to header
        xen: do not disable netfront in dom0
        phy/micrel: Fix ID of KSZ9021
        mISDN: Add X-Tensions USB ISDN TA XC-525
        gianfar:don't add FCB length to hard_header_len
        Bluetooth: Report proper error number in disconnection
        Bluetooth: Create flags for bt_sk()
        Bluetooth: report the right security level in getsockopt
        Bluetooth: Lock the L2CAP channel when sending
        Bluetooth: Restore locking semantics when looking up L2CAP channels
        Bluetooth: Fix a redundant and problematic incoming MTU check
        Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
        Bluetooth: Fix EIR data generation for mgmt_device_found
        Bluetooth: Fix Inquiry with RSSI event mask
        Bluetooth: improve readability of l2cap_seq_list code
        Bluetooth: Fix skb length calculation
        ...
      28f3d717