Name

ata_scmd_need_defer — Check whether we need to defer scmd

Synopsis

int ata_scmd_need_defer (struct ata_device * dev,
 int is_io);
 

Arguments

dev

ATA device to which the command is addressed

is_io

Is the command IO (and thus possibly NCQ)?

Description

NCQ and non-NCQ commands cannot run together. As upper layer only knows the queue depth, we are responsible for maintaining exclusion. This function checks whether a new command can be issued to dev.

LOCKING

spin_lock_irqsave(host lock)

RETURNS

1 if deferring is needed, 0 otherwise.