1. 04 6月, 2007 2 次提交
  2. 01 6月, 2007 3 次提交
  3. 30 5月, 2007 2 次提交
  4. 29 5月, 2007 3 次提交
  5. 24 5月, 2007 1 次提交
  6. 23 5月, 2007 4 次提交
    • D
      [SCSI] aic94xx: asd_clear_nexus should fail if the cleared task does not complete · 8fdcf86a
      Darrick J. Wong 提交于
      Every so often, the driver will call asd_clear_nexus to clean out a task.
      It is supposed to be the case that the CLEAR NEXUS does not go on the done
      list until after the task itself has been put on the done list, but for
      some reason this doesn't always happen.  Thus, the
      wait_for_completion_timeout call times out, and we return success.  This
      makes libsas free the task even though the task hasn't completed, leading
      to a BUG_ON message from aic94xx_hwi.c around line 341.  We should return
      failure from asd_clear_nexus so that libsas tries again; at a bare minimum
      it shouldn't be freeing active tasks.  I _think_ this will fix one of
      the SCB timeout crash problems (though I've not been able to reproduce
      it lately...)
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      8fdcf86a
    • J
      [SCSI] aic7xxx: fix aicasm build failure with gcc-3.4.6 · f45ffaec
      James Bottomley 提交于
      On Tue, 2007-05-22 at 06:51 -0500, Bob Tracy wrote:
      > Second try: originally reported this back on April 17th.  2.6.X
      > kernel builds started failing after I upgraded my compiler from
      > gcc-3.3.X to gcc-3.4.6:
      >
      > make -C drivers/scsi/aic7xxx/aicasm
      > (...)
      > gcc -I/usr/include -I. aicasm.c aicasm_symbol.c aicasm_gram.c aicasm_macro_gram.c aicasm_scan.c aicasm_macro_scan.c -o aicasm -ldb
      > aicasm_gram.y:1948: error: conflicting types for 'yyerror'
      > aicasm_gram.tab.c:3004: error: previous implicit declaration of 'yyerror' was here
      > aicasm_macro_gram.y:162: error: conflicting types for 'mmerror'
      > aicasm_macro_gram.tab.c:1196: error: previous implicit declaration of 'mmerror' was here
      
      Fix is to add a prototype for yyerror and mmerror to the relevant files.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      f45ffaec
    • S
      [SCSI] aacraid: apply commit config for reset_devices flag · 1208bab5
      Salyzyn, Mark 提交于
      Under some conditions associated with the unclean transition to kdump,
      the aacraid adapters will view the array as foreign and not export it to
      prevent access and data manipulation. The solution is to submit a commit
      configuration to export the devices since this is a expected behavior
      when transitioning to a kdump kernel.
      
      This patch adds the aacraid.reset_devices flag and when either this or
      the global reset_devices flag is set, ensures that a commit config is
      issued and extends the startup_timeout if it is set less than 5 minutes.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      1208bab5
    • A
      [SCSI] sd: fix refcounting regression in suspend/resume routines · 09ff92fe
      Alan Stern 提交于
      This patch (as909) fixes a couple of refcounting errors in the sd
      driver's suspend and resume methods.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      09ff92fe
  7. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  8. 17 5月, 2007 8 次提交
    • J
      [SCSI] aacraid: fix panic on short Inquiry · cab537d6
      James Bottomley 提交于
      Unable to handle kernel paging request at ffff8101c0000000 RIP:
       [<ffffffff880b22a1>] :aacraid:aac_internal_transfer+0xd6/0xe3
      PGD 8063 PUD 0
      Oops: 0000 [1] SMP
      last sysfs file: /block/sdb/removable
      CPU 2
      Modules linked in: autofs4(U) hidp(U) nfs(U) lockd(U)
      fscache(U) nfs_acl(U) rfcomm(U) l2cap(U) bluetooth(U)
      sunrpc(U) ipv6(U) cpufreq_ondemand(U) dm_mirror(U) dm_mod(U)
      video(U) sbs(U) i2c_ec(U) button(U) battery(U) asus_acpi(U)
      acpi_memhotplug(U) ac(U) parport_pc(U) lp(U) parport(U)
      joydev(U) ide_cd(U) i2c_i801(U) i2c_core(U) shpchp(U)
      cdrom(U) bnx2(U) sg(U) pcspkr(U) ata_piix(U) libata(U)
      aacraid(U) sd_mod(U) scsi_mod(U) ext3(U) jbd(U) ehci_hcd(U)
      ohci_hcd(U) uhci_hcd(U)
      Pid: 2352, comm: syslogd Not tainted 2.6.18-prep #1
      RIP: 0010:[<ffffffff880b22a1>]  [<ffffffff880b22a1>] :aacraid:aac_internal_transfer+0xd6/0xe3
      RSP: 0000:ffff8101bfd1fe68  EFLAGS: 00010083
      RAX: 0000000000000063 RBX: 0000000000000008 RCX: 00000000ffd1fea0
      RDX: ffffffff802da628 RSI: ffff8101c0000000 RDI: ffff8101b2a08168
      RBP: ffff8101b2728010 R08: ffffffff802da628 R09: 0000000000000046
      R10: 0000000000000000 R11: 0000000000000080 R12: 0000000000000010
      R13: ffff8101bfd1fea8 R14: ffff8101bc74df58 R15: ffff8101bc74df58
      FS:  00002aaaab0146f0(0000) GS:ffff8101bfcd2e40(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: ffff8101c0000000 CR3: 00000001bdecd000 CR4: 00000000000006e0
      Process syslogd (pid: 2352, threadinfo ffff8101bc74c000, task ffff8101bd979040)
      Stack:  0000000000000012 0000000000000036 0000000000000000 ffff8101bee9a800
       ffff8101be9d3a00 ffff8101be9d3a00 ffff8101be8014f8 ffffffff880b26cc
       40212227607e3141 2029282a26252423 0000000000000003 ffff810037e3a000
      Call Trace:
       <IRQ [<ffffffff880b26cc>] :aacraid:get_container_name_callback+0x8b/0xb5
       [<ffffffff880b6f67>] :aacraid:aac_intr_normal+0x1b3/0x1f9
       [<ffffffff880b8007>] :aacraid:aac_rkt_intr+0x37/0x115
       [<ffffffff80099749>] __rcu_process_callbacks+0xf8/0x1a8
       [<ffffffff80010705>] handle_IRQ_event+0x29/0x58
       [<ffffffff800b2fe0>] __do_IRQ+0xa4/0x105
       [<ffffffff80011c19>] __do_softirq+0x5e/0xd5
       [<ffffffff8006a193>] do_IRQ+0xe7/0xf5
       [<ffffffff8005b649>] ret_from_intr+0x0/0xa
      
      On digging into it, it turned out that the customer was probing an
      aacraid device with an INQUIRY of 8 bytes.  The way aacraid works, it
      was blindly trying to use aac_internal_transfer to copy the container
      name to byte 16 of the inquiry data, resulting in a negative transfer
      length.  It then copies over the whole of kernel memory before
      dropping off the end.
      
      Fix updated and corrected by Mark Salyzyn
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      cab537d6
    • S
      [SCSI] aacraid: Correct sa platform support. (Was: [Bug 8469] Bad EIP value on... · 2ab01efd
      Salyzyn, Mark 提交于
      [SCSI] aacraid: Correct sa platform support. (Was: [Bug 8469] Bad EIP value on pentium3 SMP kernel-2.6.21.1)
      
      http://bugzilla.kernel.org/show_bug.cgi?id=8469
      
      As discussed in the bugzilla outlined below, we have an sa based
      (Mustang) RAID adapter on the system, a Dell PERC2/QC. Affected
      controllers are HP NetRAID, Adaptec AAC-364, Dell PERC2/QC or Adaptec
      5400S. This problem  coincides with the introduction of the adapter_comm
      and adapter_deliver platform functions (Message [PATCH 1/4] aacraid:
      rework communication support code, January 23 2007, which initially
      migrated to 2.6.21)
      
      The panic occurs with an uninitialized adapter_deliver platform function
      pointer. The enclosed patch, unmodified as tested by Rainer, solves the
      problem.
      Signed-off-by: NMark Salyzyn <aacraid@adaptec.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      2ab01efd
    • F
      [SCSI] tgt: fix a rdma indirect transfer error bug · bcd4e225
      FUJITA Tomonori 提交于
      This sets sg_dma_len to a proper value.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      bcd4e225
    • E
      [SCSI] stex: minor cleanup and version update · c25da0af
      Ed Lin 提交于
      Add debug information into abort and host_reset routine.
      Change ioremap to ioremap_nocache.
      Version updated to 3.6.0000.1.
      Signed-off-by: NEd Lin <ed.lin@promise.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c25da0af
    • E
      [SCSI] stex: fix reset recovery for console device · d116a7bc
      Ed Lin 提交于
      After reset completed, the scsi error handler sends out TEST_UNIT_READY
      to the device. For 'normal' devices the command will be handled by firmware.
      However, because the RAID console only interfaces to scsi mid layer, the
      firmware will not process the command for it. This will make the console to
      be offlined right after reset. Add the handling in driver to fix this problem.
      Signed-off-by: NEd Lin <ed.lin@promise.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d116a7bc
    • E
      [SCSI] stex: extend hard reset wait time · 69f4a513
      Ed Lin 提交于
      During hard bus reset of st_shasta controllers, 1 ms is not enough for
      16-port controllers, although it's good for 8-port controllers.  Extend the
      wait time to 100  ms to allow bus resets finish successfully.
      Signed-off-by: NEd Lin <ed.lin@promise.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      69f4a513
    • E
      [SCSI] stex: fix id mapping issue · e0b2e597
      Ed Lin 提交于
      The correct internal mapping of stex controllers should be:
      id:0~15, lun:0~7 (st_shasta)
      id:0, lun:0~127 (st_yosemite)
      id:0~127, lun:0 (st_vsc and st_vsc1)
      
      This patch reports the internal mapping to scsi mid layer,  eliminating
      the translation between scsi mid layer and firmware. To achieve this
      goal, we also need to:
      -- fail the REPORT_LUNS command for st_shasta because the
         firmware is known to not report all actual luns
      -- add an entry in scsi_devindo.c to force sequential lun scan
         (for st_shasta controllers)
      -- fail the REPORT_LUNS command for console device
      -- remove special handling of REPORT_LUNS command for
         st_yosemite, as there is no translation mapping now
      Signed-off-by: NEd Lin <ed.lin@promise.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      e0b2e597
    • B
      [SCSI] ipr: Proper return codes for eh_dev_reset for SATA devices · 5af23d26
      Brian King 提交于
      Currently ipr always returns success from eh_dev_reset when
      called for a SATA device. If ata_do_eh is unable to recover
      for some reason, this can result in commands that are still
      outstanding when ata_do_eh returns. Change ipr to verify no
      commands are outstanding before returning success.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      5af23d26
  9. 14 5月, 2007 1 次提交
  10. 12 5月, 2007 3 次提交
  11. 10 5月, 2007 3 次提交
    • B
      ide: move IDE settings handling to ide-proc.c · 7662d046
      Bartlomiej Zolnierkiewicz 提交于
      * move
      	__ide_add_setting()
      	ide_add_setting()
      	__ide_remove_setting()
      	auto_remove_settings()
      	ide_find_setting_by_name()
      	ide_read_setting()
      	ide_write_setting()
      	set_xfer_rate()
      	ide_add_generic_settings()
      	ide_register_subdriver()
      	ide_unregister_subdriver()
      
        from ide.c to ide-proc.c
      
      * set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it
      
      * rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
        update device drivers to use new names
      
      * add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
        and ide_add_generic_settings()
      
      * make ide_find_setting_by_name(), ide_{read,write}_setting()
        and ide_{add,remove}_proc_entries() static
      
      * cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
        also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc
      
      * remove bogus comment from ide.h
      
      * cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t
      
      Besides saner code this patch results in the IDE core smaller by ~2 kB
      (on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      7662d046
    • B
      ide: split off ioctl handling from IDE settings (v2) · 1497943e
      Bartlomiej Zolnierkiewicz 提交于
      * do write permission and min/max checks in ide_procset_t functions
      
      * ide-disk.c: drive->id is always available so cleanup "multcount" setting
        accordingly
      
      * ide-disk.c: "address" setting was incorrectly defined as type TYPE_INTA,
        fix it by using type TYPE_BYTE and updating ide_drive_t->adressing field,
        the bug didn't trigger because this IDE setting uses custom ->set function
      
      * ide.c: add set_ksettings() for handling HDIO_SET_KEEPSETTINGS ioctl
      
      * ide.c: add set_unmaskirq() for handling HDIO_SET_UNMASKINTR ioctl
      
      * handle ioctls directly in generic_ide_ioclt() and idedisk_ioctl()
        instead of using IDE settings to deal with them
      
      * remove no longer needed ide_find_setting_by_ioctl() and {read,write}_ioctl
        fields from ide_settings_t, also remove now unused TYPE_INTA handling
      
      v2:
      * add missing EXPORT_SYMBOL_GPL(ide_setting_sem) needed now for ide-disk
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1497943e
    • B
      ide: make /proc/ide/ optional · ecfd80e4
      Bartlomiej Zolnierkiewicz 提交于
      All important information/features should be already available through
      sysfs and ioctl interfaces.
      
      Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,
      disabling it makes IDE driver ~5 kB smaller (on x86-32).
      
      While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}()
      and remove no longer needed #ifdefs.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ecfd80e4
  12. 09 5月, 2007 9 次提交