I have tested a fix for this issue and the LP9002 is working again on my system. We will be submitting an updated driver to Sun in a future gate, but I am not sure yet which one it will make it into. Until then, I am posting the fix below for any of you who are compiling the source yourself. You can make the change and give it a try. We may be able to compile and distribute a test build of the driver for those that really need it, but officially you should not redistribute it beyond your test facilities. Just email me directly if that is desirable (allen.andr...@emulex.com).
Here is the fix: emlxs_sli3.c: static uint32_t emlxs_sli3_prep_fct_iocb(emlxs_port_t *port, emlxs_buf_t *cmd_sbp, int channel) { … if (fct_task->task_flags & TF_WRITE_DATA) { iocb->ULPCOMMAND = CMD_FCP_TRECEIVE64_CX; } else { /* TF_READ_DATA */ iocb->ULPCOMMAND = CMD_FCP_TSEND64_CX; - if (dbuf->db_data_size == - fct_task->task_expected_xfer_length) + if ((hba->sli_mode == EMLXS_HBA_SLI3_MODE) && + (dbuf->db_data_size == + fct_task->task_expected_xfer_length)) iocb->ULPCT = 0x1; /* enable auto-rsp AP feature */ } return (IOERR_SUCCESS); } /* emlxs_sli3_prep_fct_iocb() */ The change for SLI2 is made in the SLI3 routine because the SLI2 interface is very very similar to SLI3 and we didn't want to replicate all the code between SLI2 and SLI3. Therefore, the SLI3 functions handle both SLI2 and SLI3 behavior. -- This message posted from opensolaris.org _______________________________________________ storage-discuss mailing list storage-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/storage-discuss