diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 6e53bdbb1da8..42eb7ffd5942 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include "qla_def.h" | 7 | #include "qla_def.h" |
8 | 8 | ||
9 | #include <linux/delay.h> | 9 | #include <linux/delay.h> |
10 | #include <linux/gfp.h> | ||
10 | 11 | ||
11 | 12 | ||
12 | /* | 13 | /* |
@@ -339,6 +340,7 @@ qla2x00_load_ram(scsi_qla_host_t *vha, dma_addr_t req_dma, uint32_t risc_addr, | |||
339 | return rval; | 340 | return rval; |
340 | } | 341 | } |
341 | 342 | ||
343 | #define EXTENDED_BB_CREDITS BIT_0 | ||
342 | /* | 344 | /* |
343 | * qla2x00_execute_fw | 345 | * qla2x00_execute_fw |
344 | * Start adapter firmware. | 346 | * Start adapter firmware. |
@@ -371,7 +373,12 @@ qla2x00_execute_fw(scsi_qla_host_t *vha, uint32_t risc_addr) | |||
371 | mcp->mb[1] = MSW(risc_addr); | 373 | mcp->mb[1] = MSW(risc_addr); |
372 | mcp->mb[2] = LSW(risc_addr); | 374 | mcp->mb[2] = LSW(risc_addr); |
373 | mcp->mb[3] = 0; | 375 | mcp->mb[3] = 0; |
374 | mcp->mb[4] = 0; | 376 | if (IS_QLA81XX(ha)) { |
377 | struct nvram_81xx *nv = ha->nvram; | ||
378 | mcp->mb[4] = (nv->enhanced_features & | ||
379 | EXTENDED_BB_CREDITS); | ||
380 | } else | ||
381 | mcp->mb[4] = 0; | ||
375 | mcp->out_mb |= MBX_4|MBX_3|MBX_2|MBX_1; | 382 | mcp->out_mb |= MBX_4|MBX_3|MBX_2|MBX_1; |
376 | mcp->in_mb |= MBX_1; | 383 | mcp->in_mb |= MBX_1; |
377 | } else { | 384 | } else { |