Commit 6e6cd4c4 authored by Albert Lee's avatar Albert Lee Committed by Bartlomiej Zolnierkiewicz
Browse files

ide: remove clearing bmdma status from cdrom_decode_status() (rev #4)

patch 2/2:
  Remove clearing bmdma status from cdrom_decode_status() since ATA devices
  might need it as well.

  (http://lkml.org/lkml/2006/12/4/201 and http://lkml.org/lkml/2006/11/15/94

)

Signed-off-by: default avatarAlbert Lee <albertcc@tw.ibm.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "Adam W. Hawks" <awhawks@us.ibm.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent f0dd8712
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -687,15 +687,8 @@ static void ide_dump_status_no_sense(ide_drive_t *drive, const char *msg, u8 sta
static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
{
	struct request *rq = HWGROUP(drive)->rq;
	ide_hwif_t *hwif = HWIF(drive);
	int stat, err, sense_key;
	
	/* We may have bogus DMA interrupts in PIO state here */
	if (HWIF(drive)->dma_status && hwif->atapi_irq_bogon) {
		stat = hwif->INB(hwif->dma_status);
		/* Should we force the bit as well ? */
		hwif->OUTB(stat, hwif->dma_status);
	}
	/* Check for errors. */
	stat = HWIF(drive)->INB(IDE_STATUS_REG);
	if (stat_ret)
+0 −4
Original line number Diff line number Diff line
@@ -501,10 +501,6 @@ static void __devinit init_hwif_piix(ide_hwif_t *hwif)
		/* This is a painful system best to let it self tune for now */
		return;
	}
	/* ESB2 appears to generate spurious DMA interrupts in PIO mode
	   when in native mode */
	if (hwif->pci_dev->device == PCI_DEVICE_ID_INTEL_ESB2_18)
		hwif->atapi_irq_bogon = 1;

	hwif->autodma = 0;
	hwif->tuneproc = &piix_tune_drive;
+0 −1
Original line number Diff line number Diff line
@@ -808,7 +808,6 @@ typedef struct hwif_s {
	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 */
	unsigned	atapi_irq_bogon : 1; /* Generates spurious DMA interrupts in PIO mode */

	struct device	gendev;
	struct completion gendev_rel_comp; /* To deal with device release() */