On Fri, Mar 06, 2015 at 08:45:20AM +0100, Remi Locherer wrote:
> Hi,
> 
> Since about fall 2014 I see "urtwn0 timeout" every now an then like 
> others that reported it. An unplug and replut of the urtwn device
> usually helped.
> 
> But with the snapshots from March 1st and 3rd the system just freezes
> when I unplug the urtwn device after I see the timeout message in
> xconsole. The system just freezes and does not drop to ddb.
> 
> With the snapshot from February 20 I did not observe these freezes.
> 
> Outputs of lsusb -v and dmesg below.
> 
> Remi
> 

Hi Remi,

I've discussed this with mpi. We're unsure what's going on exactly. 

Can you please really make sure you're not dropping into ddb (i.e.
don't detach the device while in X, but when on console)?
 
Can you please apply this diff and let us know if you see any STATUS=?
lines with it when the problem happens (again, console, not X)?

Thanks.

Index: if_urtwn.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/if_urtwn.c,v
retrieving revision 1.42
diff -u -p -r1.42 if_urtwn.c
--- if_urtwn.c  10 Feb 2015 23:25:46 -0000      1.42
+++ if_urtwn.c  6 Mar 2015 08:12:23 -0000
@@ -1635,7 +1635,7 @@ urtwn_rxeof(struct usbd_xfer *xfer, void
        int len, totlen, pktlen, infosz, npkts;
 
        if (__predict_false(status != USBD_NORMAL_COMPLETION)) {
-               DPRINTF(("RX status=%d\n", status));
+               printf("RX status=%d\n", status);
                if (status == USBD_STALLED)
                        usbd_clear_endpoint_stall_async(sc->rx_pipe);
                if (status != USBD_CANCELLED)
@@ -1703,7 +1703,7 @@ urtwn_txeof(struct usbd_xfer *xfer, void
        TAILQ_INSERT_TAIL(&sc->tx_free_list, data, next);
 
        if (__predict_false(status != USBD_NORMAL_COMPLETION)) {
-               DPRINTF(("TX status=%d\n", status));
+               printf("TX status=%d\n", status);
                if (status == USBD_STALLED)
                        usbd_clear_endpoint_stall_async(data->pipe);
                ifp->if_oerrors++;

Reply via email to