>       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

Reply via email to