> if (txp != NULL) {
>
> /* BEGIN OF ADDED CODE */
>
> int i;
> char b [20];
> struct fxp_cb_tx *p;
> printf ("\nTX_QUEUED: %d", sc->tx_queued);
> for (i = 0, p = sc->cbl_first; i < sc->tx_queued; i++, p = p->next)
> {
> int j;
> u_int32_t size, addr;
> printf ("\n\tQUEUE [%d] * TBD_NUMBER: %d", i,
>p->tbd_number);
> /*
> m_copydata (p->mb_head, 0, 6, b);
> printf ("\n\t.%d.%d.%d.%d.%d.%d.", b[0], b[1], b[2], b[3],
>b[4], b[5]);
> */
> for (j = 0; j < p->tbd_number; j++)
> {
> size = p->tbd [j].tb_size;
> addr = p->tbd [j].tb_addr;
> printf ("\n\t\t TBD [%d] * SIZE %d & ADDRESS %d", j,
>size, addr);
> }
> }
>
> /* END OF ADDED CODE */
>
> fxp_scb_wait(sc);
> CSR_WRITE_1(sc, FXP_CSR_SCB_COMMAND, FXP_SCB_COMMAND_CU_RESUME);
> }
There are cases where a non-transmit command is queued to the cb list, and
in those cases an mbuf header is not attached. For this reason you need to
check for mb_head != NULL before calling m_copydata().
-DG
David Greenman
Co-founder, The FreeBSD Project - http://www.freebsd.org
President, TeraSolutions, Inc. - http://www.terasolutions.com
Pave the road of life with opportunities.
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message