1. 19 7月, 2006 9 次提交
  2. 15 7月, 2006 3 次提交
  3. 07 7月, 2006 3 次提交
  4. 06 7月, 2006 4 次提交
  5. 05 7月, 2006 1 次提交
    • Z
      [PATCH] mthca: initialize send and receive queue locks separately · a46f9484
      Zach Brown 提交于
      mthca: initialize send and receive queue locks separately
      
      lockdep identifies a lock by the call site of its initialization.  By
      initializing the send and receive queue locks in mthca_wq_init() we confuse
      lockdep.  It warns that that the ordered acquiry of both locks in
      mthca_modify_qp() is recursive acquiry of one lock:
      
        =============================================
        [ INFO: possible recursive locking detected ]
        ---------------------------------------------
        modprobe/1192 is trying to acquire lock:
         (&wq->lock){....}, at: [<f892b4db>] mthca_modify_qp+0x60/0xa7b [ib_mthca]
        but task is already holding lock:
         (&wq->lock){....}, at: [<f892b4ce>] mthca_modify_qp+0x53/0xa7b [ib_mthca]
      
      Initializing the locks separately in mthca_alloc_qp_common() stops the
      warning and will let lockdep enforce proper ordering on paths that acquire
      both locks.
      Signed-off-by: NZach Brown <zach.brown@oracle.com>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a46f9484
  6. 04 7月, 2006 20 次提交
    • H
      [PATCH] zfcp: fix incorrect usage of fsf_req_list_lock · 38c54ee8
      Heiko Carstens 提交于
        =================================
        [ INFO: inconsistent lock state ]
        ---------------------------------
        inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
        swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
         (&adapter->fsf_req_list_lock){++..}, at: [<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
        {in-hardirq-W} state was registered at:
          [<000000000005fb0c>] __lock_acquire+0xad8/0xed0
          [<00000000000604ae>] lock_acquire+0x9a/0xc8
          [<000000000035a326>] _spin_lock+0x4e/0x68
          [<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
          [<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
          [<0000000000219dd4>] tiqdio_thinint_handler+0xd20/0x213c
          [<000000000020229a>] do_adapter_IO+0xb2/0xc0
          [<0000000000206f32>] do_IRQ+0x136/0x16c
          [<0000000000020462>] io_no_vtime+0x16/0x1c
          [<0000000000019432>] cpu_idle+0x222/0x250
        irq event stamp: 129220
        hardirqs last  enabled at (129220): [<00000000000411e6>] tasklet_hi_action+0x5a/0x19c
        hardirqs last disabled at (129219): [<00000000000411c0>] tasklet_hi_action+0x34/0x19c
        softirqs last  enabled at (129212): [<0000000000040b62>] __do_softirq+0x13a/0x180
        softirqs last disabled at (129217): [<000000000001fd58>] do_softirq+0xec/0xf0
      
        other info that might help us debug this:
        no locks held by swapper/0.
      
        stack backtrace:
        00000000012bb670 0000000000000002 0000000000000000 00000000012bb780
               00000000012bb6e8 0000000000399122 0000000000399122 0000000000016b0a
               0000000000000000 0000000000000000 0000000000000000 00000000004660e8
               0000000000000000 000000000000000d 00000000012bb6e0 00000000012bb758
               0000000000368b90 0000000000016b0a 00000000012bb6e0 00000000012bb730
        Call Trace:
        ([<0000000000016a26>] show_trace+0x76/0xdc)
         [<0000000000016b2c>] show_stack+0xa0/0xd0
         [<0000000000016b8a>] dump_stack+0x2e/0x3c
         [<000000000005e3da>] print_usage_bug+0x27e/0x290
         [<000000000005ea9c>] mark_lock+0x6b0/0x6c0
         [<000000000005f33e>] __lock_acquire+0x30a/0xed0
         [<00000000000604ae>] lock_acquire+0x9a/0xc8
         [<000000000035a326>] _spin_lock+0x4e/0x68
         [<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
         [<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
         [<0000000000217bd2>] tiqdio_tl+0xd02/0x2120
         [<000000000004123a>] tasklet_hi_action+0xae/0x19c
         [<0000000000040ae4>] __do_softirq+0xbc/0x180
         [<000000000001fd58>] do_softirq+0xec/0xf0
         [<0000000000040c38>] irq_exit+0x90/0xa8
         [<0000000000206f40>] do_IRQ+0x144/0x16c
         [<0000000000020462>] io_no_vtime+0x16/0x1c
         [<0000000000019432>] cpu_idle+0x222/0x250
        ([<0000000000019416>] cpu_idle+0x206/0x250)
         [<000000000001405a>] rest_init+0x5a/0x68
         [<0000000000536998>] start_kernel+0x39c/0x3dc
         [<0000000000013046>] _stext+0x46/0x1000
      
      Fix incorrect usage of fsf_req_list_lock. It's used in tasklet context
      (irqs on) as well as in irq context. Therefore use the spin_lock_irqsave
      variant to avoid deadlocks.
      Acked-by: NAndreas Herrmann <aherrman@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      38c54ee8
    • H
      [PATCH] zfcp: fix incorrect usage of erp_lock · 9f09c548
      Heiko Carstens 提交于
        =================================
        [ INFO: inconsistent lock state ]
        ---------------------------------
        inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
        swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
         (&adapter->erp_lock){+-..}, at: [<000000000026c7f8>] zfcp_erp_async_handler+0x3c/0x70
        {hardirq-on-W} state was registered at:
          [<000000000005f33e>] __lock_acquire+0x30a/0xed0
          [<00000000000604ae>] lock_acquire+0x9a/0xc8
          [<000000000035a7ae>] _write_lock+0x4e/0x68
          [<000000000026d822>] zfcp_erp_adapter_strategy_generic+0x286/0xd94
          [<000000000026fd72>] zfcp_erp_strategy_do_action+0x91e/0x1a94
          [<0000000000271a3a>] zfcp_erp_thread+0x21a/0x1568
          [<0000000000019096>] kernel_thread_starter+0x6/0xc
          [<0000000000019090>] kernel_thread_starter+0x0/0xc
        irq event stamp: 12078
        hardirqs last  enabled at (12077): [<0000000000019416>] cpu_idle+0x206/0x250
        hardirqs last disabled at (12078): [<0000000000020458>] io_no_vtime+0xc/0x1c
        softirqs last  enabled at (12072): [<0000000000040b62>] __do_softirq+0x13a/0x180
        softirqs last disabled at (12059): [<000000000001fd58>] do_softirq+0xec/0xf0
      
        other info that might help us debug this:
        no locks held by swapper/0.
      
        stack backtrace:
        00000000012bb648 0000000000000002 0000000000000000 00000000012bb758
               00000000012bb6c0 0000000000399122 0000000000399122 0000000000016b0a
               0000000000000000 0000000000000001 0000000000000000 00000000004660e8
               0000000000000000 000000000000000d 00000000012bb6b8 00000000012bb730
               0000000000368b90 0000000000016b0a 00000000012bb6b8 00000000012bb708
        Call Trace:
        ([<0000000000016a26>] show_trace+0x76/0xdc)
         [<0000000000016b2c>] show_stack+0xa0/0xd0
         [<0000000000016b8a>] dump_stack+0x2e/0x3c
         [<000000000005e3da>] print_usage_bug+0x27e/0x290
         [<000000000005e934>] mark_lock+0x548/0x6c0
         [<000000000005fb0c>] __lock_acquire+0xad8/0xed0
         [<00000000000604ae>] lock_acquire+0x9a/0xc8
         [<000000000035a662>] _write_lock_irqsave+0x62/0x80
         [<000000000026c7f8>] zfcp_erp_async_handler+0x3c/0x70
         [<0000000000279178>] zfcp_fsf_req_dispatch+0xd8/0x1fa8
         [<000000000027e538>] zfcp_fsf_req_complete+0x104/0xe4c
         [<0000000000274534>] zfcp_qdio_reqid_check+0xf4/0x178
         [<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
         [<0000000000219dd4>] tiqdio_thinint_handler+0xd20/0x213c
         [<000000000020229a>] do_adapter_IO+0xb2/0xc0
         [<0000000000206f32>] do_IRQ+0x136/0x16c
         [<0000000000020462>] io_no_vtime+0x16/0x1c
         [<0000000000019432>] cpu_idle+0x222/0x250
        ([<0000000000019416>] cpu_idle+0x206/0x250)
         [<000000000001405a>] rest_init+0x5a/0x68
         [<0000000000536998>] start_kernel+0x39c/0x3dc
         [<0000000000013046>] _stext+0x46/0x1000
      
      Fix incorrect usage of erp_lock. Using the write_lock() variant is wrong,
      since this might lead to deadlocks.
      Acked-by: NAndreas Herrmann <aherrman@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9f09c548
    • M
      [Bluetooth] Add platform device for virtual and serial devices · 27d35284
      Marcel Holtmann 提交于
      This patch adds a generic Bluetooth platform device that can be used
      as parent device by virtual and serial devices.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      27d35284
    • M
      [Bluetooth] Correct SCO buffer size on request · da1f5198
      Marcel Holtmann 提交于
      This patch introduces a quirk that allows the drivers to tell the host
      to correct the SCO buffer size values.
      Signed-off-by: NOlivier Galibert <galibert@pobox.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      da1f5198
    • M
      [Bluetooth] Add suspend/resume support to the HCI USB driver · dcdcf63e
      Marcel Holtmann 提交于
      This patch implements the suspend/resume methods for the HCI USB
      driver by killing all outstanding URBs on suspend, and re-issuing
      them on resume.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      dcdcf63e
    • M
      [Bluetooth] Use raw mode for the Frontline sniffer device · 2b86ad21
      Marcel Holtmann 提交于
      The Frontline sniffer device looks like a normal H:2 Bluetooth device,
      but it is not and so mark it as raw mode device.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      2b86ad21
    • R
      [ATM]: add+use poison defines · 3c6b3773
      Randy Dunlap 提交于
      ATM: add and use POISON define values.
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3c6b3773
    • R
      [IOAT]: fix kernel-doc in source files · 6508871e
      Randy Dunlap 提交于
      Fix kernel-doc warnings in drivers/dma/:
      - use correct function & parameter names
      - add descriptions where omitted
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6508871e
    • M
      [TG3]: Add ipv6 TSO feature · b0026624
      Michael Chan 提交于
      Enable ipv6 TSO feature on chips that support it.
      
      Update version to 3.61.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0026624
    • B
      [IOAT]: Fix a warning in ioatdma · 518d1c96
      Benoit Boissinot 提交于
      drivers/dma/ioatdma.c: In function 'ioat_init_module':
      drivers/dma/ioatdma.c:830: warning: control reaches end of non-void function
      Signed-off-by: NBenoit Boissinot <benoit.boissinot@ens-lyon.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      518d1c96
    • A
      [IOAT]: drivers/dma/iovlock.c: make num_pages_spanned() static · 56e0873b
      Adrian Bunk 提交于
      This patch makes the needlessly global num_pages_spanned() static.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56e0873b
    • R
      [IOAT]: fix sparse ulong warning · c1b4df5d
      Randy Dunlap 提交于
      Fix sparse warning:
      drivers/dma/ioatdma.c:444:32: warning: constant 0xFFFFFFFFFFFFFFC0 is so big it is unsigned long
      
      Also needs a MAINTAINERS entry.
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1b4df5d
    • I
      [PATCH] sched: cleanup, remove task_t, convert to struct task_struct · 36c8b586
      Ingo Molnar 提交于
      cleanup: remove task_t and convert all the uses to struct task_struct. I
      introduced it for the scheduler anno and it was a mistake.
      
      Conversion was mostly scripted, the result was reviewed and all
      secondary whitespace and style impact (if any) was fixed up by hand.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      36c8b586
    • I
      [PATCH] lockdep: annotate forcedeth.c disable_irq() · 8688cfce
      Ingo Molnar 提交于
      nv_do_nic_poll() is called from timer softirqs, which has interrupts enabled,
      but np->lock might also be taken by some other interrupt context.
      
      The driver does disable_irq() to get around this problem, so annotate the
      disable_irq()/enable_irq() calls for lockdep.
      
      Has no effect on non-lockdep kernels.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Ayaz Abdulla <aabdulla@nvidia.com>
      Cc: Manfred Spraul <manfred@colorfullife.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8688cfce
    • A
      [PATCH] forcedeth: typecast cleanup · 479ceddd
      Andrew Morton 提交于
      Someone went nuts in there.
      
      Cc: Ayaz Abdulla <aabdulla@nvidia.com>
      Cc: Manfred Spraul <manfred@colorfullife.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      479ceddd
    • A
      [PATCH] lockdep: annotate hostap netdev ->xmit_lock · cd11acdd
      Arjan van de Ven 提交于
      On Fri, 2006-06-30 at 15:45 -0700, Miles Lane wrote:
      > Okay, I rebuilt my kernel with your combo patch applied.
      > Then, I inserted my US Robotics USR2210 PCMCIA wifi card,
      > ran "pccardutil eject", popped out the card and then inserted
      > a Compaq iPaq wifi card.  This triggered the following.
      >
      > [ INFO: possible circular locking dependency detected ]
      > -------------------------------------------------------
      > syslogd/1886 is trying to acquire lock:
      >  (&dev->queue_lock){-+..}, at: [<c11a50b5>] dev_queue_xmit+0x120/0x24b
      >
      > but task is already holding lock:
      >  (&dev->_xmit_lock){-+..}, at: [<c11a5118>] dev_queue_xmit+0x183/0x24b
      >
      > which lock already depends on the new lock.
      
      ok this appears to be hostap playing games... it has 2 network devices
      for one piece of hardware and one calls the other via the networking
      layer; there is thankfully a natural ordering between the two, so just
      making the slave one a separate type ought to make this work.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cd11acdd
    • I
      [PATCH] lockdep: annotate on-stack completions, mmc · 0afffc72
      Ingo Molnar 提交于
      lockdep needs to have the waitqueue lock initialized for on-stack
      waitqueues implicitly initialized by DECLARE_COMPLETION().
      
      Annotate mmc_wait_for_req()'s on-stack completion accordingly.
      
      Has no effect on non-lockdep kernels.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0afffc72
    • I
      [PATCH] lockdep: annotate blkdev nesting · 663d440e
      Ingo Molnar 提交于
      Teach special (recursive) locking code to the lock validator.
      
      Effects on non-lockdep kernels:
      
      - the introduction of the following function variants:
      
        extern struct block_device *open_partition_by_devnum(dev_t, unsigned);
      
        extern int blkdev_put_partition(struct block_device *);
      
        static int
        blkdev_get_whole(struct block_device *bdev, mode_t mode, unsigned flags);
      
       which on non-lockdep are the same as open_by_devnum(), blkdev_put()
       and blkdev_get().
      
      - a subclass parameter to do_open(). [unused on non-lockdep]
      
      - a subclass parameter to __blkdev_put(), which is a new internal
        function for the main blkdev_put*() functions. [parameter unused
        on non-lockdep kernels, except for two sanity check WARN_ON()s]
      
      these functions carry no semantical difference - they only express
      object dependencies towards the lockdep subsystem.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      663d440e
    • H
      [PATCH] lockdep: annotate qeth driver · 91ebe2a9
      Heiko Carstens 提交于
      Annotate the qeth driver which uses a private skb-queue-head that is safely
      used in hardirq context too.
      
      Has no effect on non-lockdep kernels.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      91ebe2a9
    • I
      [PATCH] lockdep: annotate on-stack completions · 60be6b9a
      Ingo Molnar 提交于
      lockdep needs to have the waitqueue lock initialized for on-stack waitqueues
      implicitly initialized by DECLARE_COMPLETION().  Annotate on-stack completions
      accordingly.
      
      Has no effect on non-lockdep kernels.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      60be6b9a