1. 23 5月, 2007 1 次提交
  2. 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
  3. 14 5月, 2007 1 次提交
  4. 12 5月, 2007 3 次提交
  5. 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
  6. 09 5月, 2007 14 次提交
  7. 08 5月, 2007 1 次提交
  8. 07 5月, 2007 1 次提交
  9. 06 5月, 2007 8 次提交