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 { |
