Skip to content
  1. Feb 26, 2013
    • Ming Lei's avatar
      usbnet: smsc95xx: fix broken runtime suspend · 42e21c01
      Ming Lei authored
      Commit b2d4b150
      
      (smsc95xx: enable dynamic autosuspend) implements
      autosuspend, but breaks current runtime suspend, such as:
      when the interface becomes down, the usb device can't be put into
      runtime suspend any more.
      
      This patch fixes the broken runtime suspend.
      
      Cc: Steve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42e21c01
    • Ming Lei's avatar
      usbnet: smsc95xx: fix suspend failure · 76437214
      Ming Lei authored
      
      
      The three below functions:
      
      	smsc95xx_enter_suspend0()
      	smsc95xx_enter_suspend1()
      	smsc95xx_enter_suspend2()
      
      return > 0 in case of success, so they will cause smsc95xx_suspend()
      to return > 0 and cause suspend failure.
      
      The bug is introduced in commit 3b9f7d(smsc95xx: fix error handling
      in suspend failure case).
      
      Cc: <stable@vger.kernel.org>		[3.8]
      Cc: Steve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      76437214
    • Rafał Miłecki's avatar
      bgmac: fix indexing of 2nd level loops · 70a737b7
      Rafał Miłecki authored
      
      
      We were using the same variable for iterating two nested loops.
      
      Reported-by: default avatarTijs Van Buggenhout <tvb@able.be>
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      70a737b7
    • Larry Finger's avatar
      b43: Fix lockdep splat on module unload · 63a02ce1
      Larry Finger authored
      On unload, b43 produces a lockdep warning that can be summarized in the
      following way:
      
       ======================================================
       [ INFO: possible circular locking dependency detected ]
       3.8.0-wl+ #117 Not tainted
       -------------------------------------------------------
       modprobe/5557 is trying to acquire lock:
        ((&wl->firmware_load)){+.+.+.}, at: [<ffffffff81062160>] flush_work+0x0/0x2a0
      
       but task is already holding lock:
        (rtnl_mutex){+.+.+.}, at: [<ffffffff813bd7d2>] rtnl_lock+0x12/0x20
      
       which lock already depends on the new lock.
       [ INFO: possible circular locking dependency detected ]
       ======================================================
      
      The full output is available at http://lkml.indiana.edu/hypermail/linux/kernel/1302.3/00060.html.
      To summarize, commit 6b6fa586
      
       added a 'cancel_work_sync(&wl->firmware_load)'
      call in the wrong place.
      
      The fix is to move the cancel_work_sync() call to b43_bcma_remove() and
      b43_ssb_remove(). Thanks to Johannes Berg and Michael Buesch for help in
      diagnosing the log output.
      
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org> [V3.5+]
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      63a02ce1
    • Pravin B Shelar's avatar
      Revert "ip_gre: propogate target device GSO capability to the tunnel device" · 7992ae6d
      Pravin B Shelar authored
      This reverts commit eb6b9a8c
      
      .
      
      Above commit limits GSO capability of gre device to just TSO, but
      software GRE-GSO is capable of handling all GSO capabilities.
      
      This patch also fixes following panic which reverted commit introduced:-
      
      BUG: unable to handle kernel NULL pointer dereference at 00000000000000a2
      IP: [<ffffffffa0680fd1>] ipgre_tunnel_bind_dev+0x161/0x1f0 [ip_gre]
      PGD 42bc19067 PUD 42bca9067 PMD 0
      Oops: 0000 [#1] SMP
      Pid: 2636, comm: ip Tainted: GF            3.8.0+ #83 Dell Inc. PowerEdge R620/0KCKR5
      RIP: 0010:[<ffffffffa0680fd1>]  [<ffffffffa0680fd1>] ipgre_tunnel_bind_dev+0x161/0x1f0 [ip_gre]
      RSP: 0018:ffff88042bfcb708  EFLAGS: 00010246
      RAX: 00000000000005b6 RBX: ffff88042d2fa000 RCX: 0000000000000044
      RDX: 0000000000000018 RSI: 0000000000000078 RDI: 0000000000000060
      RBP: ffff88042bfcb748 R08: 0000000000000018 R09: 000000000000000c
      R10: 0000000000000020 R11: 000000000101010a R12: ffff88042d2fa800
      R13: 0000000000000000 R14: ffff88042d2fa800 R15: ffff88042cd7f650
      FS:  00007fa784f55700(0000) GS:ffff88043fd20000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000000a2 CR3: 000000042d8b9000 CR4: 00000000000407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process ip (pid: 2636, threadinfo ffff88042bfca000, task ffff88042d142a80)
      Stack:
       0000000100000000 002f000000000000 0a01010100000000 000000000b010101
       ffff88042d2fa800 ffff88042d2fa000 ffff88042bfcb858 ffff88042f418c00
       ffff88042bfcb798 ffffffffa068199a ffff88042bfcb798 ffff88042d2fa830
      Call Trace:
       [<ffffffffa068199a>] ipgre_newlink+0xca/0x160 [ip_gre]
       [<ffffffff8143b692>] rtnl_newlink+0x532/0x5f0
       [<ffffffff8143b2fc>] ? rtnl_newlink+0x19c/0x5f0
       [<ffffffff81438978>] rtnetlink_rcv_msg+0x2c8/0x340
       [<ffffffff814386b0>] ? rtnetlink_rcv+0x40/0x40
       [<ffffffff814560f9>] netlink_rcv_skb+0xa9/0xd0
       [<ffffffff81438695>] rtnetlink_rcv+0x25/0x40
       [<ffffffff81455ddc>] netlink_unicast+0x1ac/0x230
       [<ffffffff81456a45>] netlink_sendmsg+0x265/0x380
       [<ffffffff814138c0>] sock_sendmsg+0xb0/0xe0
       [<ffffffff8141141e>] ? move_addr_to_kernel+0x4e/0x90
       [<ffffffff81420445>] ? verify_iovec+0x85/0xf0
       [<ffffffff81414ffd>] __sys_sendmsg+0x3fd/0x420
       [<ffffffff8114b701>] ? handle_mm_fault+0x251/0x3b0
       [<ffffffff8114f39f>] ? vma_link+0xcf/0xe0
       [<ffffffff81415239>] sys_sendmsg+0x49/0x90
       [<ffffffff814ffd19>] system_call_fastpath+0x16/0x1b
      
      CC: Dmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Acked-by: default avatarDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7992ae6d
    • Pravin B Shelar's avatar
      IP_GRE: Fix GRE_CSUM case. · 8f10098f
      Pravin B Shelar authored
      commit "ip_gre: allow CSUM capable devices to handle packets"
      aa0e51cd
      
      , broke GRE_CSUM case.
      GRE_CSUM needs checksum computed for inner packet. Therefore
      csum-calculation can not be offloaded if tunnel device requires
      GRE_CSUM.  Following patch fixes it by computing inner packet checksum
      for GRE_CSUM type, for all other type of GRE devices csum is offloaded.
      
      CC: Dmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Acked-by: default avatarDmitry Kravkov <dmitry@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8f10098f
    • Pravin B Shelar's avatar
      VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification. · 8dc98eb2
      Pravin B Shelar authored
      
      
      tunnel_ip_select_ident() is more efficient when generating ip-header
      id given inner packet is of ipv4 type.
      
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8dc98eb2
    • Pravin B Shelar's avatar
      IP_GRE: Fix IP-Identification. · 490ab081
      Pravin B Shelar authored
      
      
      GRE-GSO generates ip fragments with id 0,2,3,4... for every
      GSO packet, which is not correct. Following patch fixes it
      by setting ip-header id unique id of fragments are allowed.
      As Eric Dumazet suggested it is optimized by using inner ip-header
      whenever inner packet is ipv4.
      
      Signed-off-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      490ab081
    • David S. Miller's avatar
      Merge branch 'wireless' · 2bedc2e6
      David S. Miller authored
      
      
      John W. Linville says:
      
      ====================
      This is a batch of fixes intended for the 3.9 stream...
      
      Avinash Patil gives us a mwifiex fix to prevent a system freeze when
      that driver is unloaded.
      
      Daniel Drake brings a patch to avoid dropping the carrier flag across a
      suspend.  This prevents improper packet drops.
      
      Wei Yongjun delivers a brcmfmac for a lock leak on an error path.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2bedc2e6
    • John W. Linville's avatar
      Merge branch 'master' of... · 6d6436fb
      John W. Linville authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
      6d6436fb
  2. Feb 25, 2013
  3. Feb 24, 2013
  4. Feb 23, 2013
  5. Feb 22, 2013
  6. Feb 21, 2013
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · a0b1c429
      Linus Torvalds authored
      Pull networking update from David Miller:
      
       1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
          timestamp offset.  From Andrey Vagin.
      
       2) VMWARE VM VSOCK layer, from Andy King.
      
       3) Much improved support for virtual functions and SR-IOV in bnx2x,
          from Ariel ELior.
      
       4) All protocols on ipv4 and ipv6 are now network namespace aware, and
          all the compatability checks for initial-namespace-only protocols is
          removed.  Thanks to Tom Parkin for helping deal with the last major
          holdout, L2TP.
      
       5) IPV6 support in netpoll and network namespace support in pktgen,
          from Cong Wang.
      
       6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
          Protocol (MVRP) support, from David Ward.
      
       7) Compute packet lengths more accurately in the packet scheduler, from
          Eric Dumazet.
      
       8) Use per-task page fragment allocator in skb_append_datato_frags(),
          also from Eric Dumazet.
      
       9) Add support for connection tracking labels in netfilter, from
          Florian Westphal.
      
      10) Fix default multicast group joining on ipv6, and add anti-spoofing
          checks to 6to4 and 6rd.  From Hannes Frederic Sowa.
      
      11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
          times, rearrange inet frag datastructures for better cacheline
          locality, and move more operations outside of locking.  From Jesper
          Dangaard Brouer.
      
      12) Instead of strict master <--> slave relationships, allow arbitrary
          scenerios with "upper device lists".  From Jiri Pirko.
      
      13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
          Pirko.
      
      14) Add a BPF filter netfilter match target, from Willem de Bruijn.
      
      15) Orphan and delete a bunch of pre-historic networking drivers from
          Paul Gortmaker.
      
      16) Add TSO support for GRE tunnels, from Pravin B SHelar.  Although
          this still needs some minor bug fixing before it's %100 correct in
          all cases.
      
      17) Handle unresolved IPSEC states like ARP, with a resolution packet
          queue.  From Steffen Klassert.
      
      18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
          Hemminger.  This was long overdue.
      
      19) Support SO_REUSEPORT, from Tom Herbert.
      
      20) Allow locking a socket BPF filter, so that it cannot change after a
          process drops capabilities.
      
      21) Add VLAN filtering to bridge, from Vlad Yasevich.
      
      22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
          the ipv6 routes, from YOSHIFUJI Hideaki.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
        ipv6: fix race condition regarding dst->expires and dst->from.
        net: fix a wrong assignment in skb_split()
        ip_gre: remove an extra dst_release()
        ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
        atl1c: restore buffer state
        net: fix a build failure when !CONFIG_PROC_FS
        net: ipv4: fix waring -Wunused-variable
        net: proc: fix build failed when procfs is not configured
        Revert "xen: netback: remove redundant xenvif_put"
        net: move procfs code to net/core/net-procfs.c
        qmi_wwan, cdc-ether: add ADU960S
        bonding: set sysfs device_type to 'bond'
        bonding: fix bond_release_all inconsistencies
        b44: use netdev_alloc_skb_ip_align()
        xen: netback: remove redundant xenvif_put
        net: fec: Do a sanity check on the gpio number
        ip_gre: propogate target device GSO capability to the tunnel device
        ip_gre: allow CSUM capable devices to handle packets
        bonding: Fix initialize after use for 3ad machine state spinlock
        bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
        ...
      a0b1c429
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 8ec49422
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Mostly more sparc64 THP bug fixes, and a refactoring of SMP bootup on
        sparc32 from Sam Ravnborg."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: refactor smp boot
        sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.
        sparc64: Fix tsb_grow() in atomic context.
        sparc64: Handle hugepage TSB being NULL.
        sparc64: Fix gfp_flags setting in tsb_grow().
      8ec49422
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · 79a69d34
      Linus Torvalds authored
      Pull arm64 patches from Catalin Marinas:
      
       - SMP support for the PSCI booting protocol (power state coordination
         interface).
      
       - Simple earlyprintk support.
      
       - Platform devices populated by default from the DT (SoC-agnostic).
      
       - CONTEXTIDR support (used by external trace tools).
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        arm64: mm: update CONTEXTIDR register to contain PID of current process
        arm64: atomics: fix grossly inconsistent asm constraints for exclusives
        arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link
        arm64: Select ARCH_WANT_FRAME_POINTERS
        arm64: Add kvm_para.h and xor.h generic headers
        arm64: SMP: enable PSCI boot method
        arm64: psci: add support for PSCI invocations from the kernel
        arm64: SMP: rework the SMP code to be enabling method agnostic
        arm64: perf: add guest vs host discrimination
        arm64: add COMPAT_PSR_*_BIT flags
        arm64: Add simple earlyprintk support
        arm64: Populate the platform devices
      79a69d34
    • Linus Torvalds's avatar
      Merge branch 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm · 6db167df
      Linus Torvalds authored
      Pull ARM updates (part two) from Russell King:
      
       - breakpoint and perf updates from Will Deacon.
      
       - hypervisor boot mode updates from Will.
      
       - support for Power State Coordination Interface via the Hypervisor
      
       - core ARM support for KVM
      
      * 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
        KVM: ARM: Add maintainer entry for KVM/ARM
        KVM: ARM: Power State Coordination Interface implementation
        KVM: ARM: Handle I/O aborts
        KVM: ARM: Handle guest faults in KVM
        KVM: ARM: VFP userspace interface
        KVM: ARM: Demux CCSIDR in the userspace API
        KVM: ARM: User space API for getting/setting co-proc registers
        KVM: ARM: Emulation framework and CP15 emulation
        KVM: ARM: World-switch implementation
        KVM: ARM: Inject IRQs and FIQs from userspace
        KVM: ARM: Memory virtualization setup
        KVM: ARM: Hypervisor initialization
        KVM: ARM: Initial skeleton to compile KVM support
        ARM: Section based HYP idmap
        ARM: Add page table and page defines needed by KVM
        ARM: perf: simplify __hw_perf_event_init err handling
        ARM: perf: remove unnecessary checks for idx < 0
        ARM: perf: handle armpmu_register failing
        ARM: perf: don't pretend to support counting of L1I writes
        ARM: perf: remove redundant NULL check on cpu_pmu
        ...
      6db167df