Print this page
4031 scsa1394 violates DDI scsi_pkt(9S) allocation rules
*** 555,565 ****
lp->l_stat.stat_cmd_cnt++;
bzero(orb->co_cdb, sizeof (orb->co_cdb));
/* CDB */
! bcopy(cmd->sc_cdb, orb->co_cdb, cmd->sc_cdb_actual_len);
/*
* ORB parameters
*
* use max speed and max payload for this speed.
--- 555,565 ----
lp->l_stat.stat_cmd_cnt++;
bzero(orb->co_cdb, sizeof (orb->co_cdb));
/* CDB */
! bcopy(cmd->sc_pkt->pkt_cdbp, orb->co_cdb, cmd->sc_orig_cdblen);
/*
* ORB parameters
*
* use max speed and max payload for this speed.
*** 823,833 ****
lp->l_stat.stat_err_status_tran_err++;
/* save the command */
p = &lp->l_stat.stat_cmd_last_fail[
lp->l_stat.stat_cmd_last_fail_idx][0];
! bcopy(&pkt->pkt_cdbp[0], p, min(cmd->sc_cdb_len, 16));
*(clock_t *)&p[2] = ddi_get_lbolt();
lp->l_stat.stat_cmd_last_fail_idx =
(lp->l_stat.stat_cmd_last_fail_idx + 1) %
SCSA1394_STAT_NCMD_LAST;
}
--- 823,833 ----
lp->l_stat.stat_err_status_tran_err++;
/* save the command */
p = &lp->l_stat.stat_cmd_last_fail[
lp->l_stat.stat_cmd_last_fail_idx][0];
! bcopy(&pkt->pkt_cdbp[0], p, min(cmd->sc_pkt->pkt_cdblen, 16));
*(clock_t *)&p[2] = ddi_get_lbolt();
lp->l_stat.stat_cmd_last_fail_idx =
(lp->l_stat.stat_cmd_last_fail_idx + 1) %
SCSA1394_STAT_NCMD_LAST;
}