Lines 661-672
axge_bulk_write_callback(struct usb_xfer *xfer, usb_error_t error)
Link Here
|
661 |
/* FALLTHROUGH */ |
661 |
/* FALLTHROUGH */ |
662 |
case USB_ST_SETUP: |
662 |
case USB_ST_SETUP: |
663 |
tr_setup: |
663 |
tr_setup: |
664 |
if ((sc->sc_flags & AXGE_FLAG_LINK) == 0 || |
664 |
if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { |
665 |
(ifp->if_drv_flags & IFF_DRV_OACTIVE) != 0) { |
665 |
/* Don't send anything if controller is busy. */ |
666 |
/* |
|
|
667 |
* Don't send anything if there is no link or |
668 |
* controller is busy. |
669 |
*/ |
670 |
return; |
666 |
return; |
671 |
} |
667 |
} |
672 |
|
668 |
|
Lines 675-680
tr_setup:
Link Here
|
675 |
IFQ_DRV_DEQUEUE(&ifp->if_snd, m); |
671 |
IFQ_DRV_DEQUEUE(&ifp->if_snd, m); |
676 |
if (m == NULL) |
672 |
if (m == NULL) |
677 |
break; |
673 |
break; |
|
|
674 |
if (sc->sc_flags & AXGE_FLAG_LINK) == 0) |
675 |
continue; |
678 |
usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, |
676 |
usbd_xfer_set_frame_offset(xfer, nframes * MCLBYTES, |
679 |
nframes); |
677 |
nframes); |
680 |
pc = usbd_xfer_get_frame(xfer, nframes); |
678 |
pc = usbd_xfer_get_frame(xfer, nframes); |