Re: [PATCH 1/1] pata_it821x: fix lost interrupt with atapi devices

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jeff Norden <jeff@...>
Cc: <alan@...>, <linux-kernel@...>
Date: Tuesday, September 4, 2007 - 2:43 pm

Jeff Norden writes:
 >  From: Jeff Norden <jnorden@math.tntech.edu>
 > 
 > Fix "lost" interrupt problem when using dma with CD/DVD drives in some
 > configurations.  This problem can make installing linux from media
 > impossible for distro's that have switched to libata-only configurations.
 > 
 > The simple fix is to eliminate the use of dma for reading drive status, etc,
 > by checking the number of bytes to transferred.
 > 
 > This change will only affect the behavior of atapi devices, not disks.
 > There is more info at http://bugzilla.redhat.com/show_bug.cgi?id=242229
 > This patch is for 2.6.22.1
 > 
 > Signed-off-by: Jeff Norden <jnorden@math.tntech.edu>
 > 
 > ---
 > 
 > --- pata_it821x.c.orig	2007-08-16 14:20:49.000000000 -0500
 > +++ pata_it821x.c	2007-08-31 16:09:22.000000000 -0500
 > @@ -533,6 +533,10 @@ static int it821x_check_atapi_dma(struct
 >  	struct ata_port *ap = qc->ap;
 >  	struct it821x_dev *itdev = ap->private_data;
 >  
 > +	/* Only use dma for transfers to/from the media. */
 > +	if (qc->nbytes < 2048)
 > +		return -EOPNOTSUPP;
 > +
 >  	/* No ATAPI DMA in smart mode */
 >  	if (itdev->smart)
 >  		return -EOPNOTSUPP;
 > 

This looks like a gross hack. Aren't you supposed to inspect
the command instead and whitelist the ones you know are OK,
like pata_pdc2027x.c and sata_promise.c do?
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 1/1] pata_it821x: fix lost interrupt with atapi d..., Mikael Pettersson, (Tue Sep 4, 2:43 pm)