diff options
Diffstat (limited to 'drivers/scsi/libsas/sas_discover.c')
-rw-r--r-- | drivers/scsi/libsas/sas_discover.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c index 629a0865b130..ff497ac76cb4 100644 --- a/drivers/scsi/libsas/sas_discover.c +++ b/drivers/scsi/libsas/sas_discover.c | |||
@@ -294,6 +294,8 @@ static void sas_unregister_common_dev(struct asd_sas_port *port, struct domain_d | |||
294 | 294 | ||
295 | spin_lock_irq(&port->dev_list_lock); | 295 | spin_lock_irq(&port->dev_list_lock); |
296 | list_del_init(&dev->dev_list_node); | 296 | list_del_init(&dev->dev_list_node); |
297 | if (dev_is_sata(dev)) | ||
298 | sas_ata_end_eh(dev->sata_dev.ap); | ||
297 | spin_unlock_irq(&port->dev_list_lock); | 299 | spin_unlock_irq(&port->dev_list_lock); |
298 | 300 | ||
299 | sas_put_device(dev); | 301 | sas_put_device(dev); |
@@ -488,9 +490,9 @@ static void sas_chain_event(int event, unsigned long *pending, | |||
488 | if (!test_and_set_bit(event, pending)) { | 490 | if (!test_and_set_bit(event, pending)) { |
489 | unsigned long flags; | 491 | unsigned long flags; |
490 | 492 | ||
491 | spin_lock_irqsave(&ha->state_lock, flags); | 493 | spin_lock_irqsave(&ha->lock, flags); |
492 | sas_chain_work(ha, sw); | 494 | sas_chain_work(ha, sw); |
493 | spin_unlock_irqrestore(&ha->state_lock, flags); | 495 | spin_unlock_irqrestore(&ha->lock, flags); |
494 | } | 496 | } |
495 | } | 497 | } |
496 | 498 | ||