1. 09 6月, 2005 1 次提交
    • A
      [PATCH] sg traverse fix for __atapi_pio_bytes() · 6952df03
      Albert Lee 提交于
      Problem:
      Incorrect md5sum when using ATAPI PIO mode to verify a distro CD.
      
      Root cause:  sg traverse problem.
      In __atapi_pio_bytes(), if qc->cursg++ is increased and "goto
      next_page" is executed, then sg is not updated to the new qc->cursg
      and the old sg is overwritten with the new data.
      
      Changes:
      - Replace "goto next_page" with "goto next_sg" to make sg updated.
      Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com>
      6952df03
  2. 03 6月, 2005 2 次提交
  3. 31 5月, 2005 2 次提交
  4. 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
  5. 26 5月, 2005 1 次提交
    • 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
  6. 16 5月, 2005 2 次提交
    • B
      [PATCH] libata: flush COMRESET set and clear · cdcca89e
      Brett Russ 提交于
      Updated patch to fix erroneous flush of COMRESET set and missing flush
      of COMRESET clear.  Created a new routine scr_write_flush() to try to
      prevent this in the future.  Also, this patch is based on libata-2.6
      instead of the previous libata-dev-2.6 based patch.
      Signed-off-by: NBrett Russ <russb@emc.com>
      
      Index: libata-2.6/drivers/scsi/libata-core.c
      ===================================================================
      cdcca89e
    • A
      [PATCH] libata: Prevent the interrupt handler from completing a command twice · 21b1ed74
      Albert Lee 提交于
      Problem:
         During the libata CD-ROM stress test, sometimes the "BUG: timeout
      without command" error is seen.
      
      Root cause:
        Unexpected interrupt occurs after the ata_qc_complete() is called,
      but before the SCSI error handler.  The interrupt handler is invoked
      before the SCSI error handler, and it clears the command by calling
      ata_qc_complete() again.  Later when the SCSI error handler is run,
      the ata_queued_cmd is already gone, causing the "BUG: timeout without
      command" error.
      
      Changes:
        - Use the ATA_QCFLAG_ACTIVE flag to prevent the interrupt handler
      from completing the command twice, before the scsi_error_handler.
      Signed-off-by: NAlbert Lee <albertcc@tw.ibm.com>
      21b1ed74
  7. 13 5月, 2005 1 次提交
  8. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4