]> err.no Git - linux-2.6/blobdiff - drivers/ata/libata-eh.c
libata: set_mode, Fix the FIXME
[linux-2.6] / drivers / ata / libata-eh.c
index 08ad44b3e48fe47c17db93df394890c8aad4b855..56cf59b60ec4595a8cd9d434f3dcc1db3f2fa2fd 100644 (file)
@@ -1979,6 +1979,10 @@ static int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
 
                ehc->tries[dev->devno] = ATA_EH_DEV_TRIES;
 
+               /* collect port action mask recorded in dev actions */
+               ehc->i.action |= ehc->i.dev_action[i] & ~ATA_EH_PERDEV_MASK;
+               ehc->i.dev_action[i] &= ATA_EH_PERDEV_MASK;
+
                /* process hotplug request */
                if (dev->flags & ATA_DFLAG_DETACH)
                        ata_eh_detach_dev(dev);