diff options
Diffstat (limited to 'drivers/scsi/aic94xx/aic94xx_seq.c')
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_seq.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_seq.c b/drivers/scsi/aic94xx/aic94xx_seq.c index 0d343cfd433..2768fe4d66b 100644 --- a/drivers/scsi/aic94xx/aic94xx_seq.c +++ b/drivers/scsi/aic94xx/aic94xx_seq.c | |||
@@ -1395,7 +1395,9 @@ void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy) | |||
1395 | u8 phy_is_up; | 1395 | u8 phy_is_up; |
1396 | u8 mask; | 1396 | u8 mask; |
1397 | int i, err; | 1397 | int i, err; |
1398 | unsigned long flags; | ||
1398 | 1399 | ||
1400 | spin_lock_irqsave(&asd_ha->hw_prof.ddb_lock, flags); | ||
1399 | for_each_phy(phy_mask, mask, i) | 1401 | for_each_phy(phy_mask, mask, i) |
1400 | asd_ddbsite_write_byte(asd_ha, 0, | 1402 | asd_ddbsite_write_byte(asd_ha, 0, |
1401 | offsetof(struct asd_ddb_seq_shared, | 1403 | offsetof(struct asd_ddb_seq_shared, |
@@ -1415,6 +1417,7 @@ void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy) | |||
1415 | break; | 1417 | break; |
1416 | } | 1418 | } |
1417 | } | 1419 | } |
1420 | spin_unlock_irqrestore(&asd_ha->hw_prof.ddb_lock, flags); | ||
1418 | 1421 | ||
1419 | if (err) | 1422 | if (err) |
1420 | asd_printk("couldn't update DDB 0:error:%d\n", err); | 1423 | asd_printk("couldn't update DDB 0:error:%d\n", err); |