diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/io/usb/clients/usbms/usbms.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/uts/common/io/usb/clients/usbms/usbms.c b/usr/src/uts/common/io/usb/clients/usbms/usbms.c index d0d5d3c52d..5ed65d98bd 100644 --- a/usr/src/uts/common/io/usb/clients/usbms/usbms.c +++ b/usr/src/uts/common/io/usb/clients/usbms/usbms.c @@ -19,8 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. */ @@ -1599,7 +1598,11 @@ usbms_rput(queue_t *q, case M_ERROR: usbmsp->usbms_protoerr = 1; usbmsp->usbms_flags &= ~USBMS_QWAIT; - freemsg(mp); + if (*mp->b_rptr == ENODEV) { + putnext(q, mp); + } else { + freemsg(mp); + } return; default: |