1. 10 10月, 2008 1 次提交
  2. 09 10月, 2008 2 次提交
  3. 04 10月, 2008 2 次提交
  4. 01 10月, 2008 17 次提交
  5. 30 9月, 2008 2 次提交
  6. 26 9月, 2008 1 次提交
  7. 21 9月, 2008 4 次提交
  8. 19 9月, 2008 5 次提交
    • N
      md: Don't wait UNINTERRUPTIBLE for other resync to finish · 9744197c
      NeilBrown 提交于
      When two md arrays share some block device (e.g each uses different
      partitions on the one device), a resync of one array will wait for
      the resync on the other to finish.
      
      This can be a long time and as it currently waits TASK_UNINTERRUPTIBLE,
      the softlockup code notices and complains.
      
      So use TASK_INTERRUPTIBLE instead and make sure to flush signals
      before calling schedule.
      Signed-off-by: NNeilBrown <neilb@suse.de>
      9744197c
    • R
      e100: Use pci_pme_active to clear PME_Status and disable PME# · e7272403
      Rafael J. Wysocki 提交于
      Currently e100 uses pci_enable_wake() to clear pending wake-up events
      and disable PME# during intitialization, but that function is not
      suitable for this purpose, because it immediately returns error code
      if device_may_wakeup() returns false for given device.
      
      Make e100 use pci_pme_active(), which carries out exactly the
      required operations, instead.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e7272403
    • C
      e1000: prevent corruption of EEPROM/NVM · 78566fec
      Christopher Li 提交于
      Andrey reports e1000 corruption, and that a patch in vmware's ESX fixed
      it.
      
      The EEPROM corruption is triggered by concurrent access of the EEPROM
      read/write. Putting a lock around it solve the problem.
      
      [akpm@linux-foundation.org: use DEFINE_SPINLOCK to avoid confusing lockdep]
      Signed-off-by: NChristopher Li <chrisl@vmware.com>
      Reported-by: NAndrey Borzenkov <arvidjaar@mail.ru>
      Cc: Zach Amsden <zach@vmware.com>
      Cc: Pratap Subrahmanyam <pratap@vmware.com>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
      Cc: Bruce Allan <bruce.w.allan@intel.com>
      Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
      Cc: John Ronciak <john.ronciak@intel.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      78566fec
    • Y
      forcedeth: call restore mac addr in nv_shutdown path · f55c21fd
      Yinghai Lu 提交于
      after
      
      | commit f735a2a1
      | Author: Tobias Diedrich <ranma+kernel@tdiedrich.de>
      | Date:   Sun May 18 15:02:37 2008 +0200
      |
      |    [netdrvr] forcedeth: setup wake-on-lan before shutting down
      |
      |    When hibernating in 'shutdown' mode, after saving the image the suspend hook
      |    is not called again.
      |    However, if the device is in promiscous mode, wake-on-lan will not work.
      |    This adds a shutdown hook to setup wake-on-lan before the final shutdown.
      |
      |    Signed-off-by: Tobias Diedrich <ranma+kernel@tdiedrich.de>
      |    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
      
      my servers with nvidia ck804 and mcp55 will reverse mac address with kexec.
      
      it turns out that we need to restore the mac addr in nv_shutdown().
      
      [akpm@linux-foundation.org: fix typo in printk]
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Tobias Diedrich <ranma+kernel@tdiedrich.de>
      Cc: Ayaz Abdulla <aabdulla@nvidia.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f55c21fd
    • B
      bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int · 27ed9ddf
      Benjamin Li 提交于
      The bnx2 driver stores/uses the irq value from the pci_dev internally.
      But when it stores the irq value, it has been performing an
      integer demotion.  Because of the recent changes made to
      arch/x86/kernel/io_apic.c, the new method in creating the irq value
      (using build_irq_for_pci_dev()) has exposed this bug on x86 systems.
      
      Because of this demotion when calling request_irq() from
      bnx2_request_irq(), the driver would get a return code of -EINVAL.
      This is because the kernel could not find the requested irq descriptor.
      By storing the irq value properly, the kernel can find the correct
      irq descriptor and the bnx2 driver can operate normally.
      Signed-off-by: NBenjamin Li <benli@broadcom.com>
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27ed9ddf
  9. 17 9月, 2008 6 次提交
    • S
      hpplus: fix build regression · 49f276be
      Stephen Hemminger 提交于
      This fixes kernel regression for 2.6.27-rc in
            http://bugzilla.kernel.org/show_bug.cgi?id=11547
      The change to split 8390 into old isa and non-isa versions
      overlooked this driver.
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      49f276be
    • L
      Revert "b43/b43legacy: add RFKILL_STATE_HARD_BLOCKED support" · e95926d0
      Linus Torvalds 提交于
      This reverts commit bc19d6e0, which as
      Larry Finger reports causes the radio LED on his system to no longer
      respond to rfkill switch events.
      Reported-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Requested-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e95926d0
    • Y
      IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop() · e8224e4b
      Yossi Etigin 提交于
      Taking rtnl_lock in ipoib_mcast_join_complete() causes a deadlock with
      ipoib_stop().  We avoid it by scheduling the piece of code that takes
      the lock on ipoib_workqueue instead of executing it directly.  This
      works because we only flush the ipoib_workqueue with the RTNL not held.
      
      The deadlock happens because ipoib_stop() calls ipoib_ib_dev_down()
      which calls ipoib_mcast_dev_flush(), which calls ipoib_mcast_free(),
      which calls ipoib_mcast_leave(). The latter calls
      ib_sa_free_multicast(), and this waits until the multicast completion
      handler finishes.  This handler is ipoib_mcast_join_complete(), which
      waits for the rtnl_lock(), which was already taken by ipoib_stop().
      
      This bug was introduced in commit a77a57a1 ("IPoIB: Fix deadlock on
      RTNL in ipoib_stop()").
      Signed-off-by: NYossi Etigin <yosefe@voltaire.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e8224e4b
    • F
      RDMA/nes: Fix client side QP destroy · d7ffd507
      Faisal Latif 提交于
      Fix QP not being destroyed properly on the client, which leads to
      userspace programs hanging on exit.  This is a missing chunk from the
      connection management rewrite in commit 6492cdf3 ("RDMA/nes: CM
      connection setup/teardown rework").
      Signed-off-by: NFaisal Latif <flatif@neteffect.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      d7ffd507
    • S
      [S390] cio: fix orb initialization in cio_start_key · 9adb8c1d
      Stefan Weinhuber 提交于
      The functions cio_tm_start_key and cio_start_key use the same private
      orb structure of a subchannel, so the orb needs to be cleared of old
      data before it is used again. A respective memset is missing from
      cio_start_key and hereby added.
      Signed-off-by: NStefan Weinhuber <wein@de.ibm.com>
      Acked-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      9adb8c1d
    • C
      [S390] cio: Fix driver_data handling for ccwgroup devices. · f26fd5d6
      Cornelia Huck 提交于
      Since 16f7f956, we've seen
      oopses when grouping/ungrouping devices:
      
      Unable to handle kernel pointer dereference at virtual kernel address 0000000000
      114000
      Oops: 0004 [#1] PREEMPT SMP
      Modules linked in: bonding qeth_l2 dm_multipath sunrpc qeth_l3 dm_mod qeth chsc_
      sch ccwgroup
      CPU: 1 Not tainted 2.6.26-29.x.20080815-s390xdefault #1
      Process iperf (pid: 24412, task: 000000003f446038, ksp: 000000003c929e08)
      Krnl PSW : 0404d00180000000 000003e00006f6e6 (qeth_irq+0xda/0xb28 [qeth])
                 R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3
      Krnl GPRS: 0000000000000000 000003e000000003 0000000000000000 0000000000114ccc
                 000000003fb82e48 000003e00006f60c 000000000000000c 000000003ce72100
                 0000000000114944 000000003fb82e48 0000000000114ccc 000000003fe8fd28
                 000003e000066000 000003e000076128 000000003fe8fdb8 000000003fe8fd28
      Krnl Code: 000003e00006f6da: bf3f2024            icm     %r3,15,36(%r2)
                 000003e00006f6de: a774023c            brc     7,3e00006fb56
                 000003e00006f6e2: a7280000            lhi     %r2,0
                >000003e00006f6e6: 5020a1a0            st      %r2,416(%r10)
                 000003e00006f6ea: 58109000            l       %r1,0(%r9)
                 000003e00006f6ee: a7111000            tmll    %r1,4096
                 000003e00006f6f2: a77400f9            brc     7,3e00006f8e4
                 000003e00006f6f6: 8810000c            srl     %r1,12
      Call Trace:
      ([<000000003fe8fd20>] 0x3fe8fd20)
       [<000000000033bf2a>] ccw_device_call_handler+0xb2/0xd8
       [<0000000000339e1c>] ccw_device_irq+0x124/0x164
       [<0000000000339758>] io_subchannel_irq+0x8c/0x118
       [<00000000003309ba>] do_IRQ+0x192/0x1bc
       [<0000000000114f66>] io_return+0x0/0x8
       [<00000000001149cc>] sysc_do_svc+0x0/0x22
      ([<0000000000114a18>] sysc_noemu+0x10/0x16)
       [<00000200002e047c>] 0x200002e047c
      Last Breaking-Event-Address:
       [<000003e00006f6d6>] qeth_irq+0xca/0xb28 [qeth]
      
      The problem is that dev->driver_data for a ccw device is NULL,
      while it should point to the ccwgroup device it is a member of.
      This happened due to incorrect cleanup if creating a ccwgroup
      device failed because the ccw devices were already grouped.
      
      Fix this by setting cdev[i] to NULL in the error handling of
      ccwgroup_create_from_string() after we give up our reference and
      by checking if the driver_data points to the ccwgroup device in
      ccwgroup_release() just to be really sure.
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      f26fd5d6