.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "USB_DISCONNECT" "9" "09 October 2005" "" ""
.SH NAME
usb_disconnect \- disconnect a device (usbcore-internal)
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void usb_disconnect (struct usb_device ** \fIpdev\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIpdev\fB\fR
pointer to device being disconnected
.SH "CONTEXT"
.PP
!in_interrupt ()
.SH "DESCRIPTION"
.PP
Something got disconnected. Get rid of it and all of its children.
.PP
If *pdev is a normal device then the parent hub must already be locked.
If *pdev is a root hub then this routine will acquire the
usb_bus_list_lock on behalf of the caller.
.PP
Only hub drivers (including virtual root hub drivers for host
controllers) should ever call this.
.PP
This call is synchronous, and may not be used in an interrupt context.