1. 04 6月, 2005 2 次提交
  2. 03 6月, 2005 4 次提交
    • N
      [SCSI] fix slab corruption during ipr probe · c92715b3
      Nathan Lynch 提交于
      With CONFIG_DEBUG_SLAB=y I see slab corruption messages during boot on
      pSeries machines with IPR adapters with any 2.6.12-rc kernel.
      
      The change which seems to have introduced the problem is "SCSI: revamp
      target scanning routines" and may be found at:
      http://marc.theaimsgroup.com/?l=bk-commits-head&m=111093946426333&w=2
      
      In order to revert that in a 2.6.12-rc1 tree, I had to revert "target
      code updates to support scanned targets" first:
      http://marc.theaimsgroup.com/?l=bk-commits-head&m=111094132524649&w=2
      
      With both patches reverted, the corruption messages go away.
      
      ipr: IBM Power RAID SCSI Device Driver version: 2.0.13 (February 21,
      2005)
      ipr 0001:d0:01.0: Found IOA with IRQ: 167
      ipr 0001:d0:01.0: Starting IOA initialization sequence.
      ipr 0001:d0:01.0: Adapter firmware version: 020A005C
      ipr 0001:d0:01.0: IOA initialized.
      scsi0 : IBM 570B Storage Adapter
        Vendor: IBM       Model: VSBPD4E1  U4SCSI  Rev: 4770
        Type:   Enclosure                          ANSI SCSI revision: 02
        Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
        Type:   Direct-Access                      ANSI SCSI revision: 04
        Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
        Type:   Direct-Access                      ANSI SCSI revision: 04
        Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
        Type:   Direct-Access                      ANSI SCSI revision: 04
        Vendor: IBM   H0  Model: HUS103036FL3800   Rev: RPQF
        Type:   Direct-Access                      ANSI SCSI revision: 04
        Vendor: IBM       Model: VSBPD4E1  U4SCSI  Rev: 4770
        Type:   Enclosure                          ANSI SCSI revision: 02
      Slab corruption: start=c0000001e8de5268, len=512
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<c00000000029c3a0>](.scsi_target_dev_release+0x28/0x50)
      080: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a
      Prev obj: start=c0000001e8de5050, len=512
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<0000000000000000>](0x0)
      000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      Next obj: start=c0000001e8de5480, len=512
      Redzone: 0x170fc2a5/0x170fc2a5.
      Last user: [<c000000000228d7c>](.as_init_queue+0x5c/0x228)
      000: c0 00 00 01 e8 83 26 08 00 00 00 00 00 00 00 00
      010: 00 00 00 00 00 00 00 00 c0 00 00 01 e8 de 54 98
      Slab corruption: start=c0000001e8de5268, len=512
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<c00000000029c3a0>](.scsi_target_dev_release+0x28/0x50)
      080: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a
      Prev obj: start=c0000001e8de5050, len=512
      Redzone: 0x5a2cf071/0x5a2cf071.
      Last user: [<0000000000000000>](0x0)
      000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
      Next obj: start=c0000001e8de5480, len=512
      Redzone: 0x170fc2a5/0x170fc2a5.
      Last user: [<c000000000228d7c>](.as_init_queue+0x5c/0x228)
      000: c0 00 00 01 e8 83 26 08 00 00 00 00 00 00 00 00
      010: 00 00 00 00 00 00 00 00 c0 00 00 01 e8 de 54 98
      ...
      
      I did some digging and the problem seems to be a refcounting issue in
      __scsi_add_device.  The target gets freed in scsi_target_reap, and
      then __scsi_add_device tries to do another device_put on it.
      Signed-off-by: NNathan Lynch <ntl@pobox.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c92715b3
    • A
      [SCSI] qla2xxx: fix bad locking during eh_abort · 18e144d3
      Andrew Vasquez 提交于
      
      Correct incorrect locking order in qla2xxx_eh_abort() handler which
      would case a hang during certain code-paths.
      
      With extra pieces to fix the irq state in the locks.
      Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      18e144d3
    • J
      libata: kernel-doc warning fixes · decc6d0b
      Jeff Garzik 提交于
      decc6d0b
    • E
      libata: update inline source docs · 0baab86b
      Edward Falk 提交于
      0baab86b
  3. 31 5月, 2005 3 次提交
  4. 30 5月, 2005 1 次提交
  5. 29 5月, 2005 1 次提交
  6. 28 5月, 2005 2 次提交
  7. 27 5月, 2005 1 次提交
    • J
      libata: Fix use-after-iounmap · aa8f0dc6
      Jeff Garzik 提交于
      Jens Axboe pointed out that the iounmap() call in libata was occurring
      too early, and some drivers (ahci, probably others) were using ioremap'd
      memory after it had been unmapped.
      
      The patch should address that problem by way of improving the libata
      driver API:
      
      * move ->host_stop() call after all ->port_stop() calls have occurred.
      
      * create default helper function ata_host_stop(), and move iounmap()
      call there.
      
      * add ->host_stop_prewalk() hook, use it in sata_qstor.c (hi Mark).
      sata_qstor appears to require the host-stop-before-port-stop ordering
      that existed prior to applying the attached patch.
      aa8f0dc6
  8. 26 5月, 2005 6 次提交
    • S
      [PATCH] ide-scsi: kmap scatter/gather before doing PIO · 41bb4c43
      Stuart Hayes 提交于
      From: Stuart Hayes <Stuart_Hayes@dell.com>
      
      The system can panic with a null pointer dereference using ide-scsi if
      PIO is being done on scatter gather pages that are in high memory,
      because page_address() returns 0.  We are actually seeing this using a
      tape drive.  This patch will kmap_atomic() the pages before performing
      PIO.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      41bb4c43
    • B
      [PATCH] convert IDE device drivers to driver-model · 8604affd
      Bartlomiej Zolnierkiewicz 提交于
      * add ide_bus_match() and export ide_bus_type
      * split ide_remove_driver_from_hwgroup() out of ide_unregister()
      * move device cleanup from ide_unregister() to drive_release_dev()
      * convert ide_driver_t->name to driver->name
      * convert ide_driver_t->{attach,cleanup} to driver->{probe,remove}
      * remove ide_driver_t->busy as ide_bus_type->subsys.rwsem
        protects against concurrent ->{probe,remove} calls
      * make ide_{un}register_driver() void as it cannot fail now
      * use driver_{un}register() directly, remove ide_{un}register_driver()
      * use device_register() instead of ata_attach(), remove ata_attach()
      * add proc_print_driver() and ide_drivers_show(), remove ide_drivers_op
      * fix ide_replace_subdriver() and move it to ide-proc.c
      * remove ide_driver_t->drives, ide_drives and drives_lock
      * remove ide_driver_t->drivers, drivers and drivers_lock
      * remove ide_drive_t->driver and DRIVER() macro
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      8604affd
    • A
      [PATCH] libata: Fix zero sg_dma_len() on 64-bit platform · 32529e01
      Albert Lee 提交于
      When testing ATAPI PIO data transfer on the ppc64 platform,  __atapi_pio_bytes() got zero when
      sg_dma_len() is used. I checked the <asm-ppc64/scatterlish.h>, the struct scatterlist is defined as:
      
      struct scatterlist {
      	struct page *page;
      	unsigned int offset;
      	unsigned int length;
      
      	/* For TCE support */
      	u32 dma_address;
      	u32 dma_length;
      };
      
      #define sg_dma_address(sg)	((sg)->dma_address)
      #define sg_dma_len(sg)		((sg)->dma_length)
      
      So, if the scatterlist is not DMA mapped, sg_dma_len() will return zero on ppc64.
      The same problem should occur on the x86-64 platform.
      On the i386 platform, sg_dma_len() returns sg->length, that's why the problem does not occur on an i386.
      
      Changes:
      - Use sg->length if the scatterlist is not DMA mapped (yet).
      Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com>
      32529e01
    • N
      [PATCH] sata_svw: Add support for new device IDs · 60bf09a3
      Narendra Sankar 提交于
      BCM5785 (HT1000) is a new southbridge from Serverworks/Broadcom that
      incorporates 4 SATA ports in a single PCIX function. Functionally these
      ports are similar to that in older devices like the Apple K2 and the
      Frodo4/8. This patch adds support for the new PCI device ID along with a
      blurb on what the various device IDs mean. Additionally in all devices
      based on this SATA controller, the SATA ports appear as a single PCI
      function. This is true for older Frodo8 devices as well. Hence the init
      function should init all the ports present in the detected controller
      (which could be 4 or 8).
      Signed-off-by: NNarendra Sankar <nsankar@broadcom.com>
      60bf09a3
    • F
      4c3a53d4
    • N
      [PATCH] sata_sil: new ID 1002:437A for ATI IXP400 · 525a0997
      NAKAMURA Kenta 提交于
      525a0997
  9. 25 5月, 2005 1 次提交
  10. 21 5月, 2005 12 次提交
  11. 16 5月, 2005 3 次提交
  12. 13 5月, 2005 4 次提交