Skip to content

Commit 248d296

Browse files
committed
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fix from James Bottomley: "This is a bug fix for the pm80xx driver. It turns out that when the new hardware support was added in 3.10 the IO command size was kept at the old hard coded value. This means that the driver attaches to some new cards and then simply hangs the system" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] pm80xx: fix Adaptec 71605H hang
2 parents e09a1fa + 9504a92 commit 248d296

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

drivers/scsi/pm8001/pm8001_hwi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ static void init_default_table_values(struct pm8001_hba_info *pm8001_ha)
221221
pm8001_ha->main_cfg_tbl.pm8001_tbl.fatal_err_interrupt = 0x01;
222222
for (i = 0; i < PM8001_MAX_INB_NUM; i++) {
223223
pm8001_ha->inbnd_q_tbl[i].element_pri_size_cnt =
224-
PM8001_MPI_QUEUE | (64 << 16) | (0x00<<30);
224+
PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x00<<30);
225225
pm8001_ha->inbnd_q_tbl[i].upper_base_addr =
226226
pm8001_ha->memoryMap.region[IB + i].phys_addr_hi;
227227
pm8001_ha->inbnd_q_tbl[i].lower_base_addr =
@@ -247,7 +247,7 @@ static void init_default_table_values(struct pm8001_hba_info *pm8001_ha)
247247
}
248248
for (i = 0; i < PM8001_MAX_OUTB_NUM; i++) {
249249
pm8001_ha->outbnd_q_tbl[i].element_size_cnt =
250-
PM8001_MPI_QUEUE | (64 << 16) | (0x01<<30);
250+
PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x01<<30);
251251
pm8001_ha->outbnd_q_tbl[i].upper_base_addr =
252252
pm8001_ha->memoryMap.region[OB + i].phys_addr_hi;
253253
pm8001_ha->outbnd_q_tbl[i].lower_base_addr =

drivers/scsi/pm8001/pm80xx_hwi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ static void init_default_table_values(struct pm8001_hba_info *pm8001_ha)
275275

276276
for (i = 0; i < PM8001_MAX_SPCV_INB_NUM; i++) {
277277
pm8001_ha->inbnd_q_tbl[i].element_pri_size_cnt =
278-
PM8001_MPI_QUEUE | (64 << 16) | (0x00<<30);
278+
PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x00<<30);
279279
pm8001_ha->inbnd_q_tbl[i].upper_base_addr =
280280
pm8001_ha->memoryMap.region[IB + i].phys_addr_hi;
281281
pm8001_ha->inbnd_q_tbl[i].lower_base_addr =
@@ -301,7 +301,7 @@ static void init_default_table_values(struct pm8001_hba_info *pm8001_ha)
301301
}
302302
for (i = 0; i < PM8001_MAX_SPCV_OUTB_NUM; i++) {
303303
pm8001_ha->outbnd_q_tbl[i].element_size_cnt =
304-
PM8001_MPI_QUEUE | (64 << 16) | (0x01<<30);
304+
PM8001_MPI_QUEUE | (pm8001_ha->iomb_size << 16) | (0x01<<30);
305305
pm8001_ha->outbnd_q_tbl[i].upper_base_addr =
306306
pm8001_ha->memoryMap.region[OB + i].phys_addr_hi;
307307
pm8001_ha->outbnd_q_tbl[i].lower_base_addr =

0 commit comments

Comments
 (0)