|
@@ -1361,33 +1361,10 @@ nothing_to_do:
|
|
|
static void ata_scsi_qc_complete(struct ata_queued_cmd *qc)
|
|
|
{
|
|
|
struct ata_port *ap = qc->ap;
|
|
|
- struct ata_eh_info *ehi = &qc->dev->link->eh_info;
|
|
|
struct scsi_cmnd *cmd = qc->scsicmd;
|
|
|
u8 *cdb = cmd->cmnd;
|
|
|
int need_sense = (qc->err_mask != 0);
|
|
|
|
|
|
- /* We snoop the SET_FEATURES - Write Cache ON/OFF command, and
|
|
|
- * schedule EH_REVALIDATE operation to update the IDENTIFY DEVICE
|
|
|
- * cache
|
|
|
- */
|
|
|
- if (ap->ops->error_handler && !need_sense) {
|
|
|
- switch (qc->tf.command) {
|
|
|
- case ATA_CMD_SET_FEATURES:
|
|
|
- if ((qc->tf.feature == SETFEATURES_WC_ON) ||
|
|
|
- (qc->tf.feature == SETFEATURES_WC_OFF)) {
|
|
|
- ehi->action |= ATA_EH_REVALIDATE;
|
|
|
- ata_port_schedule_eh(ap);
|
|
|
- }
|
|
|
- break;
|
|
|
-
|
|
|
- case ATA_CMD_INIT_DEV_PARAMS: /* CHS translation changed */
|
|
|
- case ATA_CMD_SET_MULTI: /* multi_count changed */
|
|
|
- ehi->action |= ATA_EH_REVALIDATE;
|
|
|
- ata_port_schedule_eh(ap);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/* For ATA pass thru (SAT) commands, generate a sense block if
|
|
|
* user mandated it or if there's an error. Note that if we
|
|
|
* generate because the user forced us to, a check condition
|