+ ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     ide: fix error handling for drives which clear the FIFO on error

has been added to the -mm tree.  Its filename is

     ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: ide: fix error handling for drives which clear the FIFO on error
From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>


If the controller FIFO cleared automatically on error we must not try
and drain it as this will hang some chips.

Based in concept on a broken patch from -mm some while back

Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
Cc: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/ide/ide-io.c |    2 +-
 include/linux/ide.h  |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/ide/ide-io.c~ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error drivers/ide/ide-io.c
--- a/drivers/ide/ide-io.c~ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error
+++ a/drivers/ide/ide-io.c
@@ -505,7 +505,7 @@ static ide_startstop_t ide_ata_error(ide
 		}
 	}
 
-	if ((stat & DRQ_STAT) && rq_data_dir(rq) == READ)
+	if ((stat & DRQ_STAT) && rq_data_dir(rq) == READ && hwif->err_stops_fifo == 0)
 		try_to_flush_leftover_data(drive);
 
 	if (hwif->INB(IDE_STATUS_REG) & (BUSY_STAT|DRQ_STAT))
diff -puN include/linux/ide.h~ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error include/linux/ide.h
--- a/include/linux/ide.h~ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error
+++ a/include/linux/ide.h
@@ -793,6 +793,7 @@ typedef struct hwif_s {
 	unsigned	auto_poll  : 1; /* supports nop auto-poll */
 	unsigned	sg_mapped  : 1;	/* sg_table and sg_nents are ready */
 	unsigned	no_io_32bit : 1; /* 1 = can not do 32-bit IO ops */
+	unsigned	err_stops_fifo : 1; /* 1=data FIFO is cleared by an error */
 
 	struct device	gendev;
 	struct completion gendev_rel_comp; /* To deal with device release() */
_

Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are

origin.patch
correct-tty-doc.patch
ide-pdc202xx_oldc-remove-unneeded-tuneproc-call.patch
ide-io-increase-timeout-value-to-allow-for-slave-wakeup.patch
ide-actually-honor-drives-minimum-pio-dma-cycle-times.patch
ide-pdc202xx_old-remove-the-obsolete-busproc.patch
fix-ide-deadlock-in-error-reporting-code.patch
pdc202xx_old-depends-on-config_blk_dev_idedma.patch
remove-code-that-has-long-been-commented-out-from-pdc20265_old.patch
ata-add-some-nvidia-chipset-ids.patch
via-pata-controller-xfer-fixes.patch
git-pcmcia.patch
megaraid-gcc-41-warning-fix.patch
bogus-disk-geometry-on-large-disks.patch
remove-tty_dont_flip.patch
old-ide-fix-sata-detection-for-cabling.patch
ide-clean-up-siimage.patch
ide-sc1200-debug-printk.patch
ide-fix-error-handling-for-drives-which-clear-the-fifo-on-error.patch
ide-claim-extra-dma-ports-regardless-of-channel.patch
ide-always-release-dma-engine.patch
ide-error-handling-fixes.patch
ide-hpt3xxn-clocking-fixes.patch
ide-fix-hpt37x-timing-tables.patch
ide-optimize-hpt37x-timing-tables.patch
ide-fix-hpt3xx-hotswap-support.patch
ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch
ide-hpt3xx-fix-pci-clock-detection.patch
ide-hpt3xx-fix-pci-clock-detection-fix-2.patch
piix-fix-82371mx-enablebits.patch
piix-remove-check-for-broken-mw-dma-mode-0.patch
piix-slc90e66-pio-mode-fallback-fix.patch
make-number-of-ide-interfaces-configurable.patch
ide_dma_speed-fixes.patch
hpt3xx-rework-rate-filtering.patch
hpt3xx-rework-rate-filtering-tidy.patch
hpt3xx-print-the-real-chip-name-at-startup.patch
hpt3xx-switch-to-using-pci_get_slot.patch
hpt3xx-cache-channels-mcr-address.patch
hpt3x7-merge-speedproc-handlers.patch
hpt370-clean-up-dma-timeout-handling.patch
enable-cdrom-dma-access-with-pdc20265_old.patch
ide-fix-revision-comparison-in-ide_in_drive_list.patch
drivers-ide-legacy-ide-csc-make-2-functions-static.patch
ide-backport-piix-fixes-from-libata-into-the-legacy-driver.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux