Lines Matching refs:dum_hcd

289 static void set_link_state_by_speed(struct dummy_hcd *dum_hcd)  in set_link_state_by_speed()  argument
291 struct dummy *dum = dum_hcd->dum; in set_link_state_by_speed()
293 if (dummy_hcd_to_hcd(dum_hcd)->speed == HCD_USB3) { in set_link_state_by_speed()
294 if ((dum_hcd->port_status & USB_SS_PORT_STAT_POWER) == 0) { in set_link_state_by_speed()
295 dum_hcd->port_status = 0; in set_link_state_by_speed()
298 dum_hcd->port_status &= ~(USB_PORT_STAT_CONNECTION | in set_link_state_by_speed()
300 if ((dum_hcd->old_status & in set_link_state_by_speed()
302 dum_hcd->port_status |= in set_link_state_by_speed()
306 dum_hcd->port_status |= (USB_PORT_STAT_CONNECTION | in set_link_state_by_speed()
308 if ((dum_hcd->old_status & in set_link_state_by_speed()
310 dum_hcd->port_status |= in set_link_state_by_speed()
312 if ((dum_hcd->port_status & in set_link_state_by_speed()
314 (dum_hcd->port_status & in set_link_state_by_speed()
316 dum_hcd->rh_state != DUMMY_RH_SUSPENDED) in set_link_state_by_speed()
317 dum_hcd->active = 1; in set_link_state_by_speed()
320 if ((dum_hcd->port_status & USB_PORT_STAT_POWER) == 0) { in set_link_state_by_speed()
321 dum_hcd->port_status = 0; in set_link_state_by_speed()
324 dum_hcd->port_status &= ~(USB_PORT_STAT_CONNECTION | in set_link_state_by_speed()
329 if ((dum_hcd->old_status & in set_link_state_by_speed()
331 dum_hcd->port_status |= in set_link_state_by_speed()
334 dum_hcd->port_status |= USB_PORT_STAT_CONNECTION; in set_link_state_by_speed()
335 if ((dum_hcd->old_status & in set_link_state_by_speed()
337 dum_hcd->port_status |= in set_link_state_by_speed()
339 if ((dum_hcd->port_status & USB_PORT_STAT_ENABLE) == 0) in set_link_state_by_speed()
340 dum_hcd->port_status &= ~USB_PORT_STAT_SUSPEND; in set_link_state_by_speed()
341 else if ((dum_hcd->port_status & in set_link_state_by_speed()
343 dum_hcd->rh_state != DUMMY_RH_SUSPENDED) in set_link_state_by_speed()
344 dum_hcd->active = 1; in set_link_state_by_speed()
350 static void set_link_state(struct dummy_hcd *dum_hcd) in set_link_state() argument
352 struct dummy *dum = dum_hcd->dum; in set_link_state()
354 dum_hcd->active = 0; in set_link_state()
356 if ((dummy_hcd_to_hcd(dum_hcd)->speed == HCD_USB3 && in set_link_state()
358 (dummy_hcd_to_hcd(dum_hcd)->speed != HCD_USB3 && in set_link_state()
362 set_link_state_by_speed(dum_hcd); in set_link_state()
364 if ((dum_hcd->port_status & USB_PORT_STAT_ENABLE) == 0 || in set_link_state()
365 dum_hcd->active) in set_link_state()
366 dum_hcd->resuming = 0; in set_link_state()
369 if ((dum_hcd->port_status & USB_PORT_STAT_CONNECTION) == 0 || in set_link_state()
370 (dum_hcd->port_status & USB_PORT_STAT_RESET) != 0) { in set_link_state()
375 if ((dum_hcd->old_status & USB_PORT_STAT_CONNECTION) != 0 && in set_link_state()
376 (dum_hcd->old_status & USB_PORT_STAT_RESET) == 0 && in set_link_state()
383 } else if (dum_hcd->active != dum_hcd->old_active) { in set_link_state()
384 if (dum_hcd->old_active && dum->driver->suspend) { in set_link_state()
388 } else if (!dum_hcd->old_active && dum->driver->resume) { in set_link_state()
395 dum_hcd->old_status = dum_hcd->port_status; in set_link_state()
396 dum_hcd->old_active = dum_hcd->active; in set_link_state()
415 struct dummy_hcd *dum_hcd; in dummy_enable() local
428 dum_hcd = gadget_to_dummy_hcd(&dum->gadget); in dummy_enable()
429 if (!is_enabled(dum_hcd)) in dummy_enable()
623 struct dummy_hcd *dum_hcd; in dummy_queue() local
635 dum_hcd = gadget_to_dummy_hcd(&dum->gadget); in dummy_queue()
636 if (!dum->driver || !is_enabled(dum_hcd)) in dummy_queue()
779 struct dummy_hcd *dum_hcd; in dummy_wakeup() local
781 dum_hcd = gadget_to_dummy_hcd(_gadget); in dummy_wakeup()
782 if (!(dum_hcd->dum->devstatus & ((1 << USB_DEVICE_B_HNP_ENABLE) in dummy_wakeup()
785 if ((dum_hcd->port_status & USB_PORT_STAT_CONNECTION) == 0) in dummy_wakeup()
787 if ((dum_hcd->port_status & USB_PORT_STAT_SUSPEND) == 0 && in dummy_wakeup()
788 dum_hcd->rh_state != DUMMY_RH_SUSPENDED) in dummy_wakeup()
794 dum_hcd->resuming = 1; in dummy_wakeup()
795 dum_hcd->re_timeout = jiffies + msecs_to_jiffies(20); in dummy_wakeup()
796 mod_timer(&dummy_hcd_to_hcd(dum_hcd)->rh_timer, dum_hcd->re_timeout); in dummy_wakeup()
822 struct dummy_hcd *dum_hcd; in dummy_pullup() local
843 dum_hcd = gadget_to_dummy_hcd(_gadget); in dummy_pullup()
847 set_link_state(dum_hcd); in dummy_pullup()
850 usb_hcd_poll_rh_status(dummy_hcd_to_hcd(dum_hcd)); in dummy_pullup()
901 struct dummy_hcd *dum_hcd = gadget_to_dummy_hcd(g); in dummy_udc_start() local
902 struct dummy *dum = dum_hcd->dum; in dummy_udc_start()
923 struct dummy_hcd *dum_hcd = gadget_to_dummy_hcd(g); in dummy_udc_stop() local
924 struct dummy *dum = dum_hcd->dum; in dummy_udc_stop()
1023 static void dummy_udc_pm(struct dummy *dum, struct dummy_hcd *dum_hcd, in dummy_udc_pm() argument
1028 set_link_state(dum_hcd); in dummy_udc_pm()
1035 struct dummy_hcd *dum_hcd = gadget_to_dummy_hcd(&dum->gadget); in dummy_udc_suspend() local
1038 dummy_udc_pm(dum, dum_hcd, 1); in dummy_udc_suspend()
1039 usb_hcd_poll_rh_status(dummy_hcd_to_hcd(dum_hcd)); in dummy_udc_suspend()
1046 struct dummy_hcd *dum_hcd = gadget_to_dummy_hcd(&dum->gadget); in dummy_udc_resume() local
1049 dummy_udc_pm(dum, dum_hcd, 0); in dummy_udc_resume()
1050 usb_hcd_poll_rh_status(dummy_hcd_to_hcd(dum_hcd)); in dummy_udc_resume()
1089 static int dummy_ep_stream_en(struct dummy_hcd *dum_hcd, struct urb *urb) in dummy_ep_stream_en() argument
1098 return (1 << index) & dum_hcd->stream_en_ep; in dummy_ep_stream_en()
1108 static int get_max_streams_for_pipe(struct dummy_hcd *dum_hcd, in get_max_streams_for_pipe() argument
1113 max_streams = dum_hcd->num_stream[usb_pipeendpoint(pipe)]; in get_max_streams_for_pipe()
1122 static void set_max_streams_for_pipe(struct dummy_hcd *dum_hcd, in set_max_streams_for_pipe() argument
1128 max_streams = dum_hcd->num_stream[usb_pipeendpoint(pipe)]; in set_max_streams_for_pipe()
1136 dum_hcd->num_stream[usb_pipeendpoint(pipe)] = max_streams; in set_max_streams_for_pipe()
1139 static int dummy_validate_stream(struct dummy_hcd *dum_hcd, struct urb *urb) in dummy_validate_stream() argument
1144 enabled = dummy_ep_stream_en(dum_hcd, urb); in dummy_validate_stream()
1153 max_streams = get_max_streams_for_pipe(dum_hcd, in dummy_validate_stream()
1156 dev_err(dummy_dev(dum_hcd), "Stream id %d is out of range.\n", in dummy_validate_stream()
1169 struct dummy_hcd *dum_hcd; in dummy_urb_enqueue() local
1180 dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_urb_enqueue()
1181 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_urb_enqueue()
1183 rc = dummy_validate_stream(dum_hcd, urb); in dummy_urb_enqueue()
1195 if (!dum_hcd->udev) { in dummy_urb_enqueue()
1196 dum_hcd->udev = urb->dev; in dummy_urb_enqueue()
1197 usb_get_dev(dum_hcd->udev); in dummy_urb_enqueue()
1198 } else if (unlikely(dum_hcd->udev != urb->dev)) in dummy_urb_enqueue()
1199 dev_err(dummy_dev(dum_hcd), "usb_device address has changed!\n"); in dummy_urb_enqueue()
1201 list_add_tail(&urbp->urbp_list, &dum_hcd->urbp_list); in dummy_urb_enqueue()
1207 if (!timer_pending(&dum_hcd->timer)) in dummy_urb_enqueue()
1208 mod_timer(&dum_hcd->timer, jiffies + 1); in dummy_urb_enqueue()
1211 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_urb_enqueue()
1217 struct dummy_hcd *dum_hcd; in dummy_urb_dequeue() local
1223 dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_urb_dequeue()
1224 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_urb_dequeue()
1227 if (!rc && dum_hcd->rh_state != DUMMY_RH_RUNNING && in dummy_urb_dequeue()
1228 !list_empty(&dum_hcd->urbp_list)) in dummy_urb_dequeue()
1229 mod_timer(&dum_hcd->timer, jiffies); in dummy_urb_dequeue()
1231 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_urb_dequeue()
1302 static int transfer(struct dummy_hcd *dum_hcd, struct urb *urb, in transfer() argument
1305 struct dummy *dum = dum_hcd->dum; in transfer()
1315 if (dummy_ep_stream_en(dum_hcd, urb)) { in transfer()
1453 #define is_active(dum_hcd) ((dum_hcd->port_status & \ argument
1500 static int handle_control_request(struct dummy_hcd *dum_hcd, struct urb *urb, in handle_control_request() argument
1505 struct dummy *dum = dum_hcd->dum; in handle_control_request()
1538 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1545 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1552 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1585 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1592 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1599 if (dummy_hcd_to_hcd(dum_hcd)->speed == in handle_control_request()
1668 struct dummy_hcd *dum_hcd = (struct dummy_hcd *) _dum_hcd; in dummy_timer() local
1669 struct dummy *dum = dum_hcd->dum; in dummy_timer()
1691 dev_err(dummy_dev(dum_hcd), "bogus device speed\n"); in dummy_timer()
1700 if (!dum_hcd->udev) { in dummy_timer()
1701 dev_err(dummy_dev(dum_hcd), in dummy_timer()
1714 list_for_each_entry_safe(urbp, tmp, &dum_hcd->urbp_list, urbp_list) { in dummy_timer()
1725 else if (dum_hcd->rh_state != DUMMY_RH_RUNNING) in dummy_timer()
1743 dev_dbg(dummy_dev(dum_hcd), in dummy_timer()
1759 dev_dbg(dummy_dev(dum_hcd), "ep %s halted, urb %p\n", in dummy_timer()
1794 value = handle_control_request(dum_hcd, urb, &setup, in dummy_timer()
1849 total = transfer(dum_hcd, urb, ep, limit, &status); in dummy_timer()
1863 usb_hcd_unlink_urb_from_ep(dummy_hcd_to_hcd(dum_hcd), urb); in dummy_timer()
1865 usb_hcd_giveback_urb(dummy_hcd_to_hcd(dum_hcd), urb, status); in dummy_timer()
1871 if (list_empty(&dum_hcd->urbp_list)) { in dummy_timer()
1872 usb_put_dev(dum_hcd->udev); in dummy_timer()
1873 dum_hcd->udev = NULL; in dummy_timer()
1874 } else if (dum_hcd->rh_state == DUMMY_RH_RUNNING) { in dummy_timer()
1876 mod_timer(&dum_hcd->timer, jiffies + msecs_to_jiffies(1)); in dummy_timer()
1893 struct dummy_hcd *dum_hcd; in dummy_hub_status() local
1897 dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_hub_status()
1899 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_hub_status()
1903 if (dum_hcd->resuming && time_after_eq(jiffies, dum_hcd->re_timeout)) { in dummy_hub_status()
1904 dum_hcd->port_status |= (USB_PORT_STAT_C_SUSPEND << 16); in dummy_hub_status()
1905 dum_hcd->port_status &= ~USB_PORT_STAT_SUSPEND; in dummy_hub_status()
1906 set_link_state(dum_hcd); in dummy_hub_status()
1909 if ((dum_hcd->port_status & PORT_C_MASK) != 0) { in dummy_hub_status()
1911 dev_dbg(dummy_dev(dum_hcd), "port status 0x%08x has changes\n", in dummy_hub_status()
1912 dum_hcd->port_status); in dummy_hub_status()
1914 if (dum_hcd->rh_state == DUMMY_RH_SUSPENDED) in dummy_hub_status()
1918 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_hub_status()
1953 struct dummy_hcd *dum_hcd; in dummy_hub_control() local
1960 dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_hub_control()
1962 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_hub_control()
1970 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
1975 if (dum_hcd->port_status & USB_PORT_STAT_SUSPEND) { in dummy_hub_control()
1977 dum_hcd->resuming = 1; in dummy_hub_control()
1978 dum_hcd->re_timeout = jiffies + in dummy_hub_control()
1984 if (dum_hcd->port_status & USB_PORT_STAT_POWER) in dummy_hub_control()
1985 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
1988 if (dum_hcd->port_status & in dummy_hub_control()
1990 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
1994 dum_hcd->port_status &= ~(1 << wValue); in dummy_hub_control()
1995 set_link_state(dum_hcd); in dummy_hub_control()
2002 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2022 if (dum_hcd->resuming && in dummy_hub_control()
2023 time_after_eq(jiffies, dum_hcd->re_timeout)) { in dummy_hub_control()
2024 dum_hcd->port_status |= (USB_PORT_STAT_C_SUSPEND << 16); in dummy_hub_control()
2025 dum_hcd->port_status &= ~USB_PORT_STAT_SUSPEND; in dummy_hub_control()
2027 if ((dum_hcd->port_status & USB_PORT_STAT_RESET) != 0 && in dummy_hub_control()
2028 time_after_eq(jiffies, dum_hcd->re_timeout)) { in dummy_hub_control()
2029 dum_hcd->port_status |= (USB_PORT_STAT_C_RESET << 16); in dummy_hub_control()
2030 dum_hcd->port_status &= ~USB_PORT_STAT_RESET; in dummy_hub_control()
2031 if (dum_hcd->dum->pullup) { in dummy_hub_control()
2032 dum_hcd->port_status |= USB_PORT_STAT_ENABLE; in dummy_hub_control()
2035 switch (dum_hcd->dum->gadget.speed) { in dummy_hub_control()
2037 dum_hcd->port_status |= in dummy_hub_control()
2041 dum_hcd->dum->gadget.ep0-> in dummy_hub_control()
2043 dum_hcd->port_status |= in dummy_hub_control()
2047 dum_hcd->dum->gadget.speed = in dummy_hub_control()
2054 set_link_state(dum_hcd); in dummy_hub_control()
2055 ((__le16 *) buf)[0] = cpu_to_le16(dum_hcd->port_status); in dummy_hub_control()
2056 ((__le16 *) buf)[1] = cpu_to_le16(dum_hcd->port_status >> 16); in dummy_hub_control()
2065 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2079 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2088 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2093 if (dum_hcd->active) { in dummy_hub_control()
2094 dum_hcd->port_status |= USB_PORT_STAT_SUSPEND; in dummy_hub_control()
2099 set_link_state(dum_hcd); in dummy_hub_control()
2101 & dum_hcd->dum->devstatus) != 0) in dummy_hub_control()
2102 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2108 dum_hcd->port_status |= USB_SS_PORT_STAT_POWER; in dummy_hub_control()
2110 dum_hcd->port_status |= USB_PORT_STAT_POWER; in dummy_hub_control()
2111 set_link_state(dum_hcd); in dummy_hub_control()
2116 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2125 dum_hcd->port_status = 0; in dummy_hub_control()
2126 dum_hcd->port_status = in dummy_hub_control()
2131 dum_hcd->port_status &= ~(USB_PORT_STAT_ENABLE in dummy_hub_control()
2138 dum_hcd->dum->devstatus &= in dummy_hub_control()
2144 dum_hcd->re_timeout = jiffies + msecs_to_jiffies(50); in dummy_hub_control()
2148 if ((dum_hcd->port_status & in dummy_hub_control()
2150 dum_hcd->port_status |= (1 << wValue); in dummy_hub_control()
2151 set_link_state(dum_hcd); in dummy_hub_control()
2154 if ((dum_hcd->port_status & in dummy_hub_control()
2156 dum_hcd->port_status |= (1 << wValue); in dummy_hub_control()
2157 set_link_state(dum_hcd); in dummy_hub_control()
2163 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2173 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2180 dev_dbg(dummy_dev(dum_hcd), in dummy_hub_control()
2187 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_hub_control()
2189 if ((dum_hcd->port_status & PORT_C_MASK) != 0) in dummy_hub_control()
2196 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_bus_suspend() local
2200 spin_lock_irq(&dum_hcd->dum->lock); in dummy_bus_suspend()
2201 dum_hcd->rh_state = DUMMY_RH_SUSPENDED; in dummy_bus_suspend()
2202 set_link_state(dum_hcd); in dummy_bus_suspend()
2204 spin_unlock_irq(&dum_hcd->dum->lock); in dummy_bus_suspend()
2210 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_bus_resume() local
2215 spin_lock_irq(&dum_hcd->dum->lock); in dummy_bus_resume()
2219 dum_hcd->rh_state = DUMMY_RH_RUNNING; in dummy_bus_resume()
2220 set_link_state(dum_hcd); in dummy_bus_resume()
2221 if (!list_empty(&dum_hcd->urbp_list)) in dummy_bus_resume()
2222 mod_timer(&dum_hcd->timer, jiffies); in dummy_bus_resume()
2225 spin_unlock_irq(&dum_hcd->dum->lock); in dummy_bus_resume()
2279 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in show_urbs() local
2284 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in show_urbs()
2285 list_for_each_entry(urbp, &dum_hcd->urbp_list, urbp_list) { in show_urbs()
2292 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in show_urbs()
2298 static int dummy_start_ss(struct dummy_hcd *dum_hcd) in dummy_start_ss() argument
2300 init_timer(&dum_hcd->timer); in dummy_start_ss()
2301 dum_hcd->timer.function = dummy_timer; in dummy_start_ss()
2302 dum_hcd->timer.data = (unsigned long)dum_hcd; in dummy_start_ss()
2303 dum_hcd->rh_state = DUMMY_RH_RUNNING; in dummy_start_ss()
2304 dum_hcd->stream_en_ep = 0; in dummy_start_ss()
2305 INIT_LIST_HEAD(&dum_hcd->urbp_list); in dummy_start_ss()
2306 dummy_hcd_to_hcd(dum_hcd)->power_budget = POWER_BUDGET; in dummy_start_ss()
2307 dummy_hcd_to_hcd(dum_hcd)->state = HC_STATE_RUNNING; in dummy_start_ss()
2308 dummy_hcd_to_hcd(dum_hcd)->uses_new_polling = 1; in dummy_start_ss()
2310 dummy_hcd_to_hcd(dum_hcd)->self.otg_port = 1; in dummy_start_ss()
2315 return device_create_file(dummy_dev(dum_hcd), &dev_attr_urbs); in dummy_start_ss()
2320 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_start() local
2328 return dummy_start_ss(dum_hcd); in dummy_start()
2330 spin_lock_init(&dum_hcd->dum->lock); in dummy_start()
2331 init_timer(&dum_hcd->timer); in dummy_start()
2332 dum_hcd->timer.function = dummy_timer; in dummy_start()
2333 dum_hcd->timer.data = (unsigned long)dum_hcd; in dummy_start()
2334 dum_hcd->rh_state = DUMMY_RH_RUNNING; in dummy_start()
2336 INIT_LIST_HEAD(&dum_hcd->urbp_list); in dummy_start()
2347 return device_create_file(dummy_dev(dum_hcd), &dev_attr_urbs); in dummy_start()
2394 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_alloc_streams() local
2404 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_alloc_streams()
2407 if ((1 << index) & dum_hcd->stream_en_ep) { in dummy_alloc_streams()
2417 dev_dbg(dummy_dev(dum_hcd), "Ep 0x%x only supports %u " in dummy_alloc_streams()
2427 dum_hcd->stream_en_ep |= 1 << index; in dummy_alloc_streams()
2428 set_max_streams_for_pipe(dum_hcd, in dummy_alloc_streams()
2432 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_alloc_streams()
2441 struct dummy_hcd *dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_free_streams() local
2447 spin_lock_irqsave(&dum_hcd->dum->lock, flags); in dummy_free_streams()
2450 if (!((1 << index) & dum_hcd->stream_en_ep)) { in dummy_free_streams()
2458 dum_hcd->stream_en_ep &= ~(1 << index); in dummy_free_streams()
2459 set_max_streams_for_pipe(dum_hcd, in dummy_free_streams()
2464 spin_unlock_irqrestore(&dum_hcd->dum->lock, flags); in dummy_free_streams()
2559 struct dummy_hcd *dum_hcd; in dummy_hcd_suspend() local
2565 dum_hcd = hcd_to_dummy_hcd(hcd); in dummy_hcd_suspend()
2566 if (dum_hcd->rh_state == DUMMY_RH_RUNNING) { in dummy_hcd_suspend()