@ -2041,7 +2041,7 @@ int sata_oxnas_init_controller(struct ata_host *host)
*
* @ param port SATA port to check and if necessary , correct .
*/
static int sata_oxnas_bug_6320_workaroun d ( struct ata_port * ap )
static int sata_oxnas_bug_6320_detect ( struct ata_port * ap )
{
struct sata_oxnas_port_priv * pd = ap - > private_data ;
void __iomem * core_base = pd - > core_base ;
@ -2175,17 +2175,18 @@ static irqreturn_t sata_oxnas_interrupt(int irq, void *dev_instance)
/* check the raw end of command interrupt to see if the
* port is done */
mask = ( COREINT_END < < port_no ) ;
if ( int_status & mask ) {
/* this port had an interrupt, clear it */
iowrite32 ( mask , core_base + CORE_INT_CLEAR ) ;
bug_present =
( hd - > current_ucode = = UNKNOWN_MODE ) ?
sata_oxnas_bug_6320_workaround (
ah - > ports [ port_no ] ) : 0 ;
sata_oxnas_port_irq ( ah - > ports [ port_no ] ,
bug_present ) ;
ret = IRQ_HANDLED ;
}
if ( ! ( int_status & mask ) )
continue ;
/* this port had an interrupt, clear it */
iowrite32 ( mask , core_base + CORE_INT_CLEAR ) ;
/* check for bug 6320 only if no microcode was loaded */
bug_present = ( hd - > current_ucode = = UNKNOWN_MODE ) & &
sata_oxnas_bug_6320_detect ( ah - > ports [ port_no ] ) ;
sata_oxnas_port_irq ( ah - > ports [ port_no ] ,
bug_present ) ;
ret = IRQ_HANDLED ;
}
}