1. 08 3月, 2008 5 次提交
    • tthtlc's avatar
      ide: fix buggy code in ide_register_hw() · 0c6025d4
      tthtlc 提交于
      Relocating the index to come after finding the hwif pointer.
      Signed-off-by: tthtlc's avatarPeter Teoh <htmldeveloper@gmail.com>
      Reported-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0c6025d4
    • B
      ide: fix enabling DMA on it821x in "smart" mode · ef4298d0
      Bartlomiej Zolnierkiewicz 提交于
      ide_tune_dma() should return '1' if IDE_HFLAG_NO_SET_MODE host flag is set.
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ef4298d0
    • B
      ide-cd: mark REQ_TYPE_ATA_PC write requests with REQ_RW flag · b348487f
      Bartlomiej Zolnierkiewicz 提交于
      On Thursday 06 March 2008, walt wrote:
      
      > For me, this commit causes the problem it's intended to fix:
      > 
      > commit 9f10d9ee
      > Author: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      > Date:   Tue Feb 26 21:50:35 2008 +0100
      > 
      >      ide-cd: fix 'ireason' handling for REQ_TYPE_ATA_PC requests
      > 
      >      This fixes some hangs caused by not finishing the transfer before ending
      >      the request and also makes use of 'ireason == 1' quirk for spurious IRQs.
      > 
      > When I mount a CD there is a long delay, and I see this error message:
      > 
      > hdc: ide_cd_check_ireason: wrong transfer direction!
      > cdrom: failed setting lba address space
      > hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
      > ide: failed opcode was: unknown
      > hdc: drive not ready for command
      > <repeated many times>
      > 
      > When I revert this commit everything works properly again, including
      > CD burning.
      
      It turned out that REQ_TYPE_ATA_PC write requests were not marked as such
      (the previous commit assumed them to be).
      Reported-by: Nwalt <w41ter@gmail.com>
      Tested-by: Nwalt <w41ter@gmail.com>
      Reviewed-by: NBorislav Petkov <petkovbb@googlemail.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b348487f
    • T
      gigaset: fix Oops on module unload regression · 5d49c101
      Tilman Schmidt 提交于
      The card state mutex was only initialized when a device was connected,
      but used during unload unconditionally, leading to an Oops if a driver
      was loaded and unloaded again without ever connecting a device.
      
      Fix this by initializing the mutex as soon as the structure is allocated.
      Also add a missing mutex unlock revealed in the same execution path.
      
      This fixes a possible Oops in 2.6.25-rc that was introduced by commit
      e468c048 ("Gigaset: permit module
      unload").
      
      Thanks to Roland Kletzing for reporting this problem.
      Signed-off-by: NTilman Schmidt <tilman@imap.cc>
      Tested-by: NRoland Kletzing <devzero@web.de>
      Cc: Hansjoerg Lipp <hjlipp@web.de>
      Cc: Karsten Keil <kkeil@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5d49c101
    • I
      drivers/char/esp.c: fix bootup lockup · 80d38f9a
      Ingo Molnar 提交于
      randconfig testing found a bootup lockup in drivers/char/esp.c because
      of a spinlock that wasn't correctly initialized.
      
      I'm not sure why it became more prominent in 2.6.25-rc4, the bug seems
      rather old and i've been doing allyesconfig bootups for ages with
      CONFIG_ESP enabled.
      
      This fixes this bootup lockup:
      
       PM: Adding info for No Bus:ttyP63
       ttyP32 at 0x0240 (irq = 0) is an ESP primary port
       BUG: spinlock lockup on CPU#0, swapper/1, f56dd004
       Pid: 1, comm: swapper Not tainted 2.6.25-rc4-sched-devel.git-x86-latest.git #402 [<c03ac6f4>] _raw_spin_lock+0x134/0x140
        [<c08649be>] _spin_lock_irqsave+0x5e/0x80
        [<c0b9fbfe>] ? espserial_init+0x2be/0x6e0
        [<c0b9fbfe>] espserial_init+0x2be/0x6e0
        [<c0b877a3>] kernel_init+0x83/0x260
        [<c0b9f940>] ? espserial_init+0x0/0x6e0
        [<c010416a>] ? restore_nocheck_notrace+0x0/0xe
        [<c0b87720>] ? kernel_init+0x0/0x260
        [<c0b87720>] ? kernel_init+0x0/0x260
        [<c0104507>] kernel_thread_helper+0x7/0x10
        =======================
      
      kzalloc() is not the way to initialize spinlocks anymore.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      80d38f9a
  2. 06 3月, 2008 10 次提交
  3. 05 3月, 2008 25 次提交