diff options
-rw-r--r-- | sys/dev/usb/if_urndis.c | 92 | ||||
-rw-r--r-- | sys/dev/usb/if_urndisreg.h | 12 |
2 files changed, 4 insertions, 100 deletions
diff --git a/sys/dev/usb/if_urndis.c b/sys/dev/usb/if_urndis.c index bb086aee738..3be504fcacf 100644 --- a/sys/dev/usb/if_urndis.c +++ b/sys/dev/usb/if_urndis.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_urndis.c,v 1.1 2010/03/01 23:35:56 mk Exp $ */ +/* $OpenBSD: if_urndis.c,v 1.2 2010/03/02 20:27:25 mk Exp $ */ /* * Copyright (c) 2010 Jonathan Armani <dbd@asystant.net> @@ -71,7 +71,6 @@ int urndis_newbuf(struct urndis_softc *, struct urndis_chain *, struct mbuf *); -void urndis_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); int urndis_ioctl(struct ifnet *, u_long, caddr_t); void urndis_watchdog(struct ifnet *); @@ -989,45 +988,6 @@ urndis_tx_list_init(struct urndis_softc *sc) return (0); } -void -urndis_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status) -{ - struct urndis_softc *sc; - u_int32_t count; - - sc = (struct urndis_softc *)priv; - - if (status == USBD_CANCELLED || sc->sc_dying) - return; - - if (status != USBD_NORMAL_COMPLETION) { - DPRINTF(("urndis_intr: status=%d\n", status)); - if (status == USBD_STALLED) - usbd_clear_endpoint_stall_async(sc->sc_intr_pipe); - return; - } - - usbd_get_xfer_status(xfer, NULL, NULL, &count, NULL); - - if (count != sizeof(sc->sc_intr_buf)) { - printf("%s: intr input failure: %u bytes\n", DEVNAME(sc), - count); - return; - } - - sc->sc_intr_buf.notification = UGETDW(&sc->sc_intr_buf.notification); - switch (sc->sc_intr_buf.notification) { - case 0x1: - DPRINTF(("%s: RESPONSE_AVAILABLE\n", DEVNAME(sc))); - break; - - default: - printf("%s: intr input failure: notification 0x%04x\n", - DEVNAME(sc), sc->sc_intr_buf.notification); - break; - } -} - int urndis_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { @@ -1112,23 +1072,6 @@ urndis_init(struct urndis_softc *sc) s = splnet(); - if (sc->sc_intr_no != -1 && sc->sc_intr_pipe == NULL) { - usbd_status err; - - DPRINTF(("urndis_init: establish interrupt pipe\n")); - err = usbd_open_pipe_intr(sc->sc_iface_ctl, - sc->sc_intr_no, - USBD_SHORT_XFER_OK, &sc->sc_intr_pipe, sc, - &sc->sc_intr_buf, sizeof(sc->sc_intr_buf), - urndis_intr, USBD_DEFAULT_INTERVAL); - if (err) { - printf("%s: open interrupt pipe failed: %s\n", - DEVNAME(sc), usbd_errstr(err)); - splx(s); - return; - } - } - if (urndis_tx_list_init(sc) == ENOBUFS) { printf("%s: tx list init failed\n", DEVNAME(sc)); @@ -1213,18 +1156,6 @@ urndis_stop(struct urndis_softc *sc) sc->sc_bulkout_pipe = NULL; } - if (sc->sc_intr_pipe != NULL) { - err = usbd_abort_pipe(sc->sc_intr_pipe); - if (err) - printf("%s: abort interrupt pipe failed: %s\n", - DEVNAME(sc), usbd_errstr(err)); - err = usbd_close_pipe(sc->sc_intr_pipe); - if (err) - printf("%s: close interrupt pipe failed: %s\n", - DEVNAME(sc), usbd_errstr(err)); - sc->sc_intr_pipe = NULL; - } - for (i = 0; i < RNDIS_RX_LIST_CNT; i++) { if (sc->sc_data.sc_rx_chain[i].sc_mbuf != NULL) { m_freem(sc->sc_data.sc_rx_chain[i].sc_mbuf); @@ -1495,23 +1426,6 @@ urndis_attach(struct device *parent, struct device *self, void *aux) } id = usbd_get_interface_descriptor(sc->sc_iface_ctl); - sc->sc_intr_no = -1; - for (i = 0; i < id->bNumEndpoints && sc->sc_intr_no == -1; i++) { - ed = usbd_interface2endpoint_descriptor(sc->sc_iface_ctl, i); - if (!ed) { - printf("%s: no descriptor for interrupt endpoint %u\n", - DEVNAME(sc)); - return; - } - - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && - UE_GET_XFERTYPE(ed->bmAttributes) == UE_INTERRUPT) { - sc->sc_intr_no = ed->bEndpointAddress; - break; - } - } - DPRINTF(("%s: found intr endpoint %u\n", DEVNAME(sc), - sc->sc_intr_no)); id = usbd_get_interface_descriptor(sc->sc_iface_data); cd = usbd_get_config_descriptor(sc->sc_udev); @@ -1546,9 +1460,9 @@ urndis_attach(struct device *parent, struct device *self, void *aux) } if (sc->sc_bulkin_no != -1 && sc->sc_bulkout_no != -1) { - DPRINTF(("%s: intr=0x%x, in=0x%x, out=0x%x\n", + DPRINTF(("%s: in=0x%x, out=0x%x\n", DEVNAME(sc), - sc->sc_intr_no, sc->sc_bulkin_no, + sc->sc_bulkin_no, sc->sc_bulkout_no)); goto found; } diff --git a/sys/dev/usb/if_urndisreg.h b/sys/dev/usb/if_urndisreg.h index 9e02d0a3706..ab5fa3b512e 100644 --- a/sys/dev/usb/if_urndisreg.h +++ b/sys/dev/usb/if_urndisreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_urndisreg.h,v 1.1 2010/03/01 23:35:56 mk Exp $ */ +/* $OpenBSD: if_urndisreg.h,v 1.2 2010/03/02 20:27:25 mk Exp $ */ /* * Copyright (c) 2010 Jonathan Armani <dbd@asystant.net> @@ -23,11 +23,6 @@ #define RNDIS_TX_LIST_CNT 1 #define RNDIS_BUFSZ 1542 -struct urndis_notification { - u_int32_t notification; - u_int32_t reserved; -}; - struct urndis_chain { struct urndis_softc *sc_sc; usbd_xfer_handle sc_xfer; @@ -65,11 +60,6 @@ struct urndis_softc { usbd_interface_handle sc_iface_ctl; usbd_interface_handle sc_iface_data; - int sc_intr_no; - usbd_pipe_handle sc_intr_pipe; - int sc_intr_size; - struct urndis_notification sc_intr_buf; - int sc_bulkin_no; usbd_pipe_handle sc_bulkin_pipe; int sc_bulkout_no; |