1. 04 Jul, 2011 1 commit
  2. 02 Jul, 2011 10 commits
    • Shyam Iyer's avatar
      Fix call trace when interrupts are disabled while sleeping function kzalloc is called · 5f77898d
      Shyam Iyer authored
      request_threaded irq will call kzalloc that can sleep. Initializing the flags variable outside of spin_lock_irqsave/restore in bnad_mbox_irq_alloc will avoid call traces like below.
      
      Jun 27 08:15:24 home-t710 kernel: [11735.634550] Brocade 10G Ethernet driver
      Jun 27 08:15:24 home-t710 kernel: [11735.634590] bnad_pci_probe : (0xffff880427f3d000, 0xffffffffa020f3e0) PCI Func : (2)
      Jun 27 08:15:24 home-t710 kernel: [11735.637677] bna 0000:82:00.2: PCI INT A -> GSI 66 (level, low) -> IRQ 66
      Jun 27 08:15:24 home-t710 kernel: [11735.638290] bar0 mapped to ffffc90014980000, len 262144
      Jun 27 08:15:24 home-t710 kernel: [11735.638732] BUG: sleeping function called from invalid context at mm/slub.c:847
      Jun 27 08:15:24 home-t710 kernel: [11735.638736] in_atomic(): 0, irqs_disabled(): 1, pid: 11243, name: insmod
      Jun 27 08:15:24 home-t710 kernel: [11735.638740] Pid: 11243, comm: insmod Not tainted 3.0.0-rc4+ #6
      Jun 27 08:15:24 home-t710 kernel: [11735.638743] Call Trace:
      Jun 27 08:15:24 home-t710 kernel: [11735.638755]  [<ffffffff81046427>] __might_sleep+0xeb/0xf0
      Jun 27 08:15:24 home-t710 kernel: [11735.638766]  [<ffffffffa01fe469>] ? netif_wake_queue+0x3d/0x3d [bna]
      Jun 27 08:15:24 home-t710 kernel: [11735.638773]  [<ffffffff8111201c>] kmem_cache_alloc_trace+0x43/0xd8
      Jun 27 08:15:24 home-t710 kernel: [11735.638782]  [<ffffffffa01fe469>] ? netif_wake_queue+0x3d/0x3d [bna]
      Jun 27 08:15:24 home-t710 kernel: [11735.638787]  [<ffffffff810ab791>] request_threaded_irq+0xa1/0x113
      Jun 27 08:15:24 home-t710 kernel: [11735.638798]  [<ffffffffa020f0c0>] bnad_pci_probe+0x612/0x8e5 [bna]
      Jun 27 08:15:24 home-t710 kernel: [11735.638807]  [<ffffffffa01fe469>] ? netif_wake_queue+0x3d/0x3d [bna]
      Jun 27 08:15:24 home-t710 kernel: [11735.638816]  [<ffffffff81482ef4>] ? _raw_spin_unlock_irqrestore+0x17/0x19
      Jun 27 08:15:24 home-t710 kernel: [11735.638822]  [<ffffffff8124d17a>] local_pci_probe+0x44/0x75
      Jun 27 08:15:24 home-t710 kernel: [11735.638826]  [<ffffffff8124dc06>] pci_device_probe+0xd0/0xff
      Jun 27 08:15:24 home-t710 kernel: [11735.638832]  [<ffffffff812ef8ab>] driver_probe_device+0x131/0x213
      Jun 27 08:15:24 home-t710 kernel: [11735.638836]  [<ffffffff812ef9e7>] __driver_attach+0x5a/0x7e
      Jun 27 08:15:24 home-t710 kernel: [11735.638840]  [<ffffffff812ef98d>] ? driver_probe_device+0x213/0x213
      Jun 27 08:15:24 home-t710 kernel: [11735.638844]  [<ffffffff812ee933>] bus_for_each_dev+0x53/0x89
      Jun 27 08:15:24 home-t710 kernel: [11735.638848]  [<ffffffff812ef48a>] driver_attach+0x1e/0x20
      Jun 27 08:15:24 home-t710 kernel: [11735.638852]  [<ffffffff812ef0ae>] bus_add_driver+0xd1/0x224
      Jun 27 08:15:24 home-t710 kernel: [11735.638858]  [<ffffffffa01b8000>] ? 0xffffffffa01b7fff
      Jun 27 08:15:24 home-t710 kernel: [11735.638862]  [<ffffffff812efe57>] driver_register+0x98/0x105
      Jun 27 08:15:24 home-t710 kernel: [11735.638866]  [<ffffffffa01b8000>] ? 0xffffffffa01b7fff
      Jun 27 08:15:24 home-t710 kernel: [11735.638871]  [<ffffffff8124e4c9>] __pci_register_driver+0x56/0xc1
      Jun 27 08:15:24 home-t710 kernel: [11735.638875]  [<ffffffffa01b8000>] ? 0xffffffffa01b7fff
      Jun 27 08:15:24 home-t710 kernel: [11735.638884]  [<ffffffffa01b8040>] bnad_module_init+0x40/0x60 [bna]
      Jun 27 08:15:24 home-t710 kernel: [11735.638892]  [<ffffffff81002099>] do_one_initcall+0x7f/0x136
      Jun 27 08:15:24 home-t710 kernel: [11735.638899]  [<ffffffff8108608b>] sys_init_module+0x88/0x1d0
      Jun 27 08:15:24 home-t710 kernel: [11735.638906]  [<ffffffff81489682>] system_call_fastpath+0x16/0x1b
      Jun 27 08:15:24 home-t710 kernel: [11735.639642] bnad_pci_probe : (0xffff880427f3e000, 0xffffffffa020f3e0) PCI Func : (3)
      Jun 27 08:15:24 home-t710 kernel: [11735.639665] bna 0000:82:00.3: PCI INT A -> GSI 66 (level, low) -> IRQ 66
      Jun 27 08:15:24 home-t710 kernel: [11735.639735] bar0 mapped to ffffc90014400000, len 262144
      Signed-off-by: default avatarShyam Iyer <shyam_iyer@dell.com>
      Acked-by: default avatarRasesh Mody <rmody@brocade.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5f77898d
    • Jitendra Kalsaria's avatar
    • Jitendra Kalsaria's avatar
      qlge: Fix printk priority so chip fatal errors are always reported. · 5069ee55
      Jitendra Kalsaria authored
      Precedence of the printk should be at higher level so chip fatal
      errors are always reported.
      Signed-off-by: default avatarJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5069ee55
    • Jitendra Kalsaria's avatar
      qlge:Fix crash caused by mailbox execution on wedged chip. · da92b393
      Jitendra Kalsaria authored
      When we are in a recover process from a chip fatal error,
      	driver should skip over execution of mailbox commands during
      	resetting chip.
      Signed-off-by: default avatarJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
      Signed-off-by: default avatarRon Mercer <ron.mercer@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da92b393
    • Steffen Klassert's avatar
      xfrm4: Don't call icmp_send on local error · b00897b8
      Steffen Klassert authored
      Calling icmp_send() on a local message size error leads to
      an incorrect update of the path mtu. So use ip_local_error()
      instead to notify the socket about the error.
      Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b00897b8
    • Steffen Klassert's avatar
      ipv4: Don't use ufo handling on later transformed packets · c146066a
      Steffen Klassert authored
      We might call ip_ufo_append_data() for packets that will be IPsec
      transformed later. This function should be used just for real
      udp packets. So we check for rt->dst.header_len which is only
      nonzero on IPsec handling and call ip_ufo_append_data() just
      if rt->dst.header_len is zero.
      Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c146066a
    • Steffen Klassert's avatar
      xfrm: Remove family arg from xfrm_bundle_ok · 12fdb4d3
      Steffen Klassert authored
      The family arg is not used any more, so remove it.
      Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      12fdb4d3
    • David S. Miller's avatar
      ipv6: Don't put artificial limit on routing table size. · 957c665f
      David S. Miller authored
      IPV6, unlike IPV4, doesn't have a routing cache.
      
      Routing table entries, as well as clones made in response
      to route lookup requests, all live in the same table.  And
      all of these things are together collected in the destination
      cache table for ipv6.
      
      This means that routing table entries count against the garbage
      collection limits, even though such entries cannot ever be reclaimed
      and are added explicitly by the administrator (rather than being
      created in response to lookups).
      
      Therefore it makes no sense to count ipv6 routing table entries
      against the GC limits.
      
      Add a DST_NOCOUNT destination cache entry flag, and skip the counting
      if it is set.  Use this flag bit in ipv6 when adding routing table
      entries.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      957c665f
    • David S. Miller's avatar
      ipv6: Don't change dst->flags using assignments. · 11d53b49
      David S. Miller authored
      This blows away any flags already set in the entry.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      11d53b49
    • Arnd Bergmann's avatar
      6pack,mkiss: fix lock inconsistency · 6e4e2f81
      Arnd Bergmann authored
      Lockdep found a locking inconsistency in the mkiss_close function:
      
      > kernel: [ INFO: inconsistent lock state ]
      > kernel: 2.6.39.1 #3
      > kernel: ---------------------------------
      > kernel: inconsistent {IN-SOFTIRQ-R} -> {SOFTIRQ-ON-W} usage.
      > kernel: ax25ipd/2813 [HC0[0]:SC0[0]:HE1:SE1] takes:
      > kernel: (disc_data_lock){+++?.-}, at: [<ffffffffa018552b>] mkiss_close+0x1b/0x90 [mkiss]
      > kernel: {IN-SOFTIRQ-R} state was registered at:
      
      The message hints that disc_data_lock is aquired with softirqs disabled,
      but does not itself disable softirqs, which can in rare circumstances
      lead to a deadlock. 
      The same problem is present in the 6pack driver, this patch fixes both
      by using write_lock_bh instead of write_lock.
      Reported-by: default avatarBernard F6BVP <f6bvp@free.fr>
      Tested-by: default avatarBernard F6BVP <f6bvp@free.fr>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: Ralf Baechle<ralf@linux-mips.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e4e2f81
  3. 01 Jul, 2011 1 commit
  4. 30 Jun, 2011 13 commits
  5. 29 Jun, 2011 15 commits