rh_ports = HCS_N_PORTS (ehci->hcs_params); for (port = 1; port <= rh_ports; port++) (void) ehci_hub_control(hcd, ClearPortFeature, USB_PORT_FEAT_POWER, port, NULL, 0); 
ehci_port_power (ehci, 0); 
static void ehci_stop (struct usb_hcd *hcd){	struct ehci_hcd		*ehci = hcd_to_ehci (hcd);	u8			rh_ports, port;	ehci_dbg (ehci, "stop\n");	/* Turn off port power on all root hub ports. */	rh_ports = HCS_N_PORTS (ehci->hcs_params);	for (port = 1; port <= rh_ports; port++)		(void) ehci_hub_control(hcd,			ClearPortFeature, USB_PORT_FEAT_POWER,			port, NULL, 0);	/* no more interrupts ... */	del_timer_sync (&ehci->watchdog);	spin_lock_irq(&ehci->lock);	if (HC_IS_RUNNING (hcd->state))		ehci_quiesce (ehci);	ehci_reset (ehci);	writel (0, &ehci->regs->intr_enable);	spin_unlock_irq(&ehci->lock);	/* let companion controllers work when we aren't */	writel (0, &ehci->regs->configured_flag);	unregister_reboot_notifier (&ehci->reboot_notifier);	remove_debug_files (ehci);	/* root hub is shut down separately (first, when possible) */	spin_lock_irq (&ehci->lock);	if (ehci->async)		ehci_work (ehci, NULL);	spin_unlock_irq (&ehci->lock);	ehci_mem_cleanup (ehci);#ifdef	EHCI_STATS	ehci_dbg (ehci, "irq normal %ld err %ld reclaim %ld (lost %ld)\n",		ehci->stats.normal, ehci->stats.error, ehci->stats.reclaim,		ehci->stats.lost_iaa);	ehci_dbg (ehci, "complete %ld unlink %ld\n",		ehci->stats.complete, ehci->stats.unlink);#endif	dbg_status (ehci, "ehci_stop completed", readl (&ehci->regs->status));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/56c1e26d75008d39f1067f453719857a81109d9f/ehci-hcd.c/clean/drivers/usb/host/ehci-hcd.c