diff options
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 2f8dd8e4225b..924b0ba74dfe 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -3670,16 +3670,14 @@ static ssize_t ipr_store_iopoll_weight(struct device *dev, | |||
3670 | return strlen(buf); | 3670 | return strlen(buf); |
3671 | } | 3671 | } |
3672 | 3672 | ||
3673 | if (blk_iopoll_enabled && ioa_cfg->iopoll_weight && | 3673 | if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { |
3674 | ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { | ||
3675 | for (i = 1; i < ioa_cfg->hrrq_num; i++) | 3674 | for (i = 1; i < ioa_cfg->hrrq_num; i++) |
3676 | blk_iopoll_disable(&ioa_cfg->hrrq[i].iopoll); | 3675 | blk_iopoll_disable(&ioa_cfg->hrrq[i].iopoll); |
3677 | } | 3676 | } |
3678 | 3677 | ||
3679 | spin_lock_irqsave(shost->host_lock, lock_flags); | 3678 | spin_lock_irqsave(shost->host_lock, lock_flags); |
3680 | ioa_cfg->iopoll_weight = user_iopoll_weight; | 3679 | ioa_cfg->iopoll_weight = user_iopoll_weight; |
3681 | if (blk_iopoll_enabled && ioa_cfg->iopoll_weight && | 3680 | if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { |
3682 | ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { | ||
3683 | for (i = 1; i < ioa_cfg->hrrq_num; i++) { | 3681 | for (i = 1; i < ioa_cfg->hrrq_num; i++) { |
3684 | blk_iopoll_init(&ioa_cfg->hrrq[i].iopoll, | 3682 | blk_iopoll_init(&ioa_cfg->hrrq[i].iopoll, |
3685 | ioa_cfg->iopoll_weight, ipr_iopoll); | 3683 | ioa_cfg->iopoll_weight, ipr_iopoll); |
@@ -5525,8 +5523,7 @@ static irqreturn_t ipr_isr_mhrrq(int irq, void *devp) | |||
5525 | return IRQ_NONE; | 5523 | return IRQ_NONE; |
5526 | } | 5524 | } |
5527 | 5525 | ||
5528 | if (blk_iopoll_enabled && ioa_cfg->iopoll_weight && | 5526 | if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { |
5529 | ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { | ||
5530 | if ((be32_to_cpu(*hrrq->hrrq_curr) & IPR_HRRQ_TOGGLE_BIT) == | 5527 | if ((be32_to_cpu(*hrrq->hrrq_curr) & IPR_HRRQ_TOGGLE_BIT) == |
5531 | hrrq->toggle_bit) { | 5528 | hrrq->toggle_bit) { |
5532 | if (!blk_iopoll_sched_prep(&hrrq->iopoll)) | 5529 | if (!blk_iopoll_sched_prep(&hrrq->iopoll)) |
@@ -9975,8 +9972,7 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id) | |||
9975 | ioa_cfg->host->max_channel = IPR_VSET_BUS; | 9972 | ioa_cfg->host->max_channel = IPR_VSET_BUS; |
9976 | ioa_cfg->iopoll_weight = ioa_cfg->chip_cfg->iopoll_weight; | 9973 | ioa_cfg->iopoll_weight = ioa_cfg->chip_cfg->iopoll_weight; |
9977 | 9974 | ||
9978 | if (blk_iopoll_enabled && ioa_cfg->iopoll_weight && | 9975 | if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { |
9979 | ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { | ||
9980 | for (i = 1; i < ioa_cfg->hrrq_num; i++) { | 9976 | for (i = 1; i < ioa_cfg->hrrq_num; i++) { |
9981 | blk_iopoll_init(&ioa_cfg->hrrq[i].iopoll, | 9977 | blk_iopoll_init(&ioa_cfg->hrrq[i].iopoll, |
9982 | ioa_cfg->iopoll_weight, ipr_iopoll); | 9978 | ioa_cfg->iopoll_weight, ipr_iopoll); |
@@ -10005,8 +10001,7 @@ static void ipr_shutdown(struct pci_dev *pdev) | |||
10005 | int i; | 10001 | int i; |
10006 | 10002 | ||
10007 | spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); | 10003 | spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); |
10008 | if (blk_iopoll_enabled && ioa_cfg->iopoll_weight && | 10004 | if (ioa_cfg->iopoll_weight && ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { |
10009 | ioa_cfg->sis64 && ioa_cfg->nvectors > 1) { | ||
10010 | ioa_cfg->iopoll_weight = 0; | 10005 | ioa_cfg->iopoll_weight = 0; |
10011 | for (i = 1; i < ioa_cfg->hrrq_num; i++) | 10006 | for (i = 1; i < ioa_cfg->hrrq_num; i++) |
10012 | blk_iopoll_disable(&ioa_cfg->hrrq[i].iopoll); | 10007 | blk_iopoll_disable(&ioa_cfg->hrrq[i].iopoll); |