usb_device.c (193644) | usb_device.c (194227) |
---|---|
1/* $FreeBSD: head/sys/dev/usb/usb_device.c 193644 2009-06-07 19:41:11Z thompsa $ */ | 1/* $FreeBSD: head/sys/dev/usb/usb_device.c 194227 2009-06-15 00:33:18Z thompsa $ */ |
2/*- 3 * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. --- 1449 unchanged lines hidden (view full) --- 1459 return (NULL); 1460 } 1461 /* initialise our SX-lock */ 1462 sx_init(udev->default_sx, "0123456789ABCDEF - USB device SX lock" + depth); 1463 1464 /* initialise our SX-lock */ 1465 sx_init(udev->default_sx + 1, "0123456789ABCDEF - USB config SX lock" + depth); 1466 | 2/*- 3 * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. --- 1449 unchanged lines hidden (view full) --- 1459 return (NULL); 1460 } 1461 /* initialise our SX-lock */ 1462 sx_init(udev->default_sx, "0123456789ABCDEF - USB device SX lock" + depth); 1463 1464 /* initialise our SX-lock */ 1465 sx_init(udev->default_sx + 1, "0123456789ABCDEF - USB config SX lock" + depth); 1466 |
1467 usb2_cv_init(udev->default_cv, "WCTRL"); 1468 usb2_cv_init(udev->default_cv + 1, "UGONE"); | 1467 cv_init(udev->default_cv, "WCTRL"); 1468 cv_init(udev->default_cv + 1, "UGONE"); |
1469 1470 /* initialise our mutex */ 1471 mtx_init(udev->default_mtx, "USB device mutex", NULL, MTX_DEF); 1472 1473 /* initialise generic clear stall */ 1474 udev->cs_msg[0].hdr.pm_callback = &usb2_clear_stall_proc; 1475 udev->cs_msg[0].udev = udev; 1476 udev->cs_msg[1].hdr.pm_callback = &usb2_clear_stall_proc; --- 465 unchanged lines hidden (view full) --- 1942 udev->parent_hub->hub->ports + udev->port_index : NULL, 1943 NULL, USB_ROOT_HUB_ADDR); 1944 1945#if USB_HAVE_UGEN 1946 /* wait for all pending references to go away: */ 1947 mtx_lock(&usb2_ref_lock); 1948 udev->refcount--; 1949 while (udev->refcount != 0) { | 1469 1470 /* initialise our mutex */ 1471 mtx_init(udev->default_mtx, "USB device mutex", NULL, MTX_DEF); 1472 1473 /* initialise generic clear stall */ 1474 udev->cs_msg[0].hdr.pm_callback = &usb2_clear_stall_proc; 1475 udev->cs_msg[0].udev = udev; 1476 udev->cs_msg[1].hdr.pm_callback = &usb2_clear_stall_proc; --- 465 unchanged lines hidden (view full) --- 1942 udev->parent_hub->hub->ports + udev->port_index : NULL, 1943 NULL, USB_ROOT_HUB_ADDR); 1944 1945#if USB_HAVE_UGEN 1946 /* wait for all pending references to go away: */ 1947 mtx_lock(&usb2_ref_lock); 1948 udev->refcount--; 1949 while (udev->refcount != 0) { |
1950 usb2_cv_wait(udev->default_cv + 1, &usb2_ref_lock); | 1950 cv_wait(udev->default_cv + 1, &usb2_ref_lock); |
1951 } 1952 mtx_unlock(&usb2_ref_lock); 1953 1954 destroy_dev_sched_cb(udev->default_dev, usb2_cdev_cleanup, 1955 udev->default_dev->si_drv1); 1956#endif 1957 1958 if (udev->flags.usb_mode == USB_MODE_DEVICE) { --- 17 unchanged lines hidden (view full) --- 1976 USB_BUS_LOCK(udev->bus); 1977 usb2_proc_mwait(&udev->bus->non_giant_callback_proc, 1978 &udev->cs_msg[0], &udev->cs_msg[1]); 1979 USB_BUS_UNLOCK(udev->bus); 1980 1981 sx_destroy(udev->default_sx); 1982 sx_destroy(udev->default_sx + 1); 1983 | 1951 } 1952 mtx_unlock(&usb2_ref_lock); 1953 1954 destroy_dev_sched_cb(udev->default_dev, usb2_cdev_cleanup, 1955 udev->default_dev->si_drv1); 1956#endif 1957 1958 if (udev->flags.usb_mode == USB_MODE_DEVICE) { --- 17 unchanged lines hidden (view full) --- 1976 USB_BUS_LOCK(udev->bus); 1977 usb2_proc_mwait(&udev->bus->non_giant_callback_proc, 1978 &udev->cs_msg[0], &udev->cs_msg[1]); 1979 USB_BUS_UNLOCK(udev->bus); 1980 1981 sx_destroy(udev->default_sx); 1982 sx_destroy(udev->default_sx + 1); 1983 |
1984 usb2_cv_destroy(udev->default_cv); 1985 usb2_cv_destroy(udev->default_cv + 1); | 1984 cv_destroy(udev->default_cv); 1985 cv_destroy(udev->default_cv + 1); |
1986 1987 mtx_destroy(udev->default_mtx); 1988#if USB_HAVE_UGEN 1989 KASSERT(LIST_FIRST(&udev->pd_list) == NULL, ("leaked cdev entries")); 1990#endif 1991 1992 /* free device */ 1993 free(udev->serial, M_USB); --- 436 unchanged lines hidden --- | 1986 1987 mtx_destroy(udev->default_mtx); 1988#if USB_HAVE_UGEN 1989 KASSERT(LIST_FIRST(&udev->pd_list) == NULL, ("leaked cdev entries")); 1990#endif 1991 1992 /* free device */ 1993 free(udev->serial, M_USB); --- 436 unchanged lines hidden --- |