Loading drivers/scsi/libata-eh.c +25 −25 Original line number Diff line number Diff line Loading @@ -93,6 +93,31 @@ static int ata_ering_map(struct ata_ering *ering, return rc; } static void ata_eh_clear_action(struct ata_device *dev, struct ata_eh_info *ehi, unsigned int action) { int i; if (!dev) { ehi->action &= ~action; for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] &= ~action; } else { /* doesn't make sense for port-wide EH actions */ WARN_ON(!(action & ATA_EH_PERDEV_MASK)); /* break ehi->action into ehi->dev_action */ if (ehi->action & action) { for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] |= ehi->action & action; ehi->action &= ~action; } /* turn off the specified per-dev action */ ehi->dev_action[dev->devno] &= ~action; } } /** * ata_scsi_timed_out - SCSI layer time out callback * @cmd: timed out SCSI command Loading Loading @@ -705,31 +730,6 @@ static void ata_eh_detach_dev(struct ata_device *dev) spin_unlock_irqrestore(ap->lock, flags); } static void ata_eh_clear_action(struct ata_device *dev, struct ata_eh_info *ehi, unsigned int action) { int i; if (!dev) { ehi->action &= ~action; for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] &= ~action; } else { /* doesn't make sense for port-wide EH actions */ WARN_ON(!(action & ATA_EH_PERDEV_MASK)); /* break ehi->action into ehi->dev_action */ if (ehi->action & action) { for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] |= ehi->action & action; ehi->action &= ~action; } /* turn off the specified per-dev action */ ehi->dev_action[dev->devno] &= ~action; } } /** * ata_eh_about_to_do - about to perform eh_action * @ap: target ATA port Loading Loading
drivers/scsi/libata-eh.c +25 −25 Original line number Diff line number Diff line Loading @@ -93,6 +93,31 @@ static int ata_ering_map(struct ata_ering *ering, return rc; } static void ata_eh_clear_action(struct ata_device *dev, struct ata_eh_info *ehi, unsigned int action) { int i; if (!dev) { ehi->action &= ~action; for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] &= ~action; } else { /* doesn't make sense for port-wide EH actions */ WARN_ON(!(action & ATA_EH_PERDEV_MASK)); /* break ehi->action into ehi->dev_action */ if (ehi->action & action) { for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] |= ehi->action & action; ehi->action &= ~action; } /* turn off the specified per-dev action */ ehi->dev_action[dev->devno] &= ~action; } } /** * ata_scsi_timed_out - SCSI layer time out callback * @cmd: timed out SCSI command Loading Loading @@ -705,31 +730,6 @@ static void ata_eh_detach_dev(struct ata_device *dev) spin_unlock_irqrestore(ap->lock, flags); } static void ata_eh_clear_action(struct ata_device *dev, struct ata_eh_info *ehi, unsigned int action) { int i; if (!dev) { ehi->action &= ~action; for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] &= ~action; } else { /* doesn't make sense for port-wide EH actions */ WARN_ON(!(action & ATA_EH_PERDEV_MASK)); /* break ehi->action into ehi->dev_action */ if (ehi->action & action) { for (i = 0; i < ATA_MAX_DEVICES; i++) ehi->dev_action[i] |= ehi->action & action; ehi->action &= ~action; } /* turn off the specified per-dev action */ ehi->dev_action[dev->devno] &= ~action; } } /** * ata_eh_about_to_do - about to perform eh_action * @ap: target ATA port Loading