kernel - enable carrier/modem-status for usb serial devices (/dev/ucomX)
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 22 Apr 2011 04:43:59 +0000 (21:43 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 22 Apr 2011 04:43:59 +0000 (21:43 -0700)
* Fix an incorrect return code from umodem which was preventing
  ucom from processing TIOCMGET and other related modem control
  ioctls.

* For the moment comment out a panic condition dealing with an
  abort sent from an interrupt context.

sys/bus/usb/ehci.c
sys/bus/usb/ohci.c
sys/dev/usbmisc/umodem/umodem.c

index ec25199..d8cbb16 100644 (file)
@@ -2343,8 +2343,10 @@ ehci_abort_xfer(usbd_xfer_handle xfer, usbd_status status)
                return;
        }
 
+#if 0
        if (xfer->device->bus->intr_context /* || !curproc REMOVED DFly */)
                panic("ehci_abort_xfer: not in process context");
+#endif
 
        /*
         * If an abort is already in progress then just wait for it to
index 2a944d9..b7d5965 100644 (file)
@@ -2268,8 +2268,10 @@ ohci_abort_xfer(usbd_xfer_handle xfer, usbd_status status)
                return;
        }
 
+#if 0
        if (xfer->device->bus->intr_context /* || !curproc REMOVED DFly */)
                panic("ohci_abort_xfer: not in process context");
+#endif
 
        /*
         * If an abort is already in progress then just wait for it to
index 458647d..c223bf1 100644 (file)
@@ -606,7 +606,7 @@ umodem_ioctl(void *addr, int portno, u_long cmd, caddr_t data, int flag,
 
        default:
                DPRINTF(("umodem_ioctl: unknown\n"));
-               error = ENOTTY;
+               error = ENOIOCTL;
                break;
        }