diff options
| author | Linus Torvalds <[email protected]> | 2013-12-08 18:46:32 -0800 | 
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-12-08 18:46:32 -0800 | 
| commit | b19d69c72d4e3da67f0feb2ecf45d6e60c82baf1 (patch) | |
| tree | 48f59f5e39acd24bbba98ada4c6e115211cf911d /drivers/usb/musb/musb_core.c | |
| parent | 7d49efe2edbde8e2b585f3168fa89184893645c8 (diff) | |
| parent | 2d51f3cd11f414c56a87dc018196b85fd50b04a4 (diff) | |
Merge tag 'usb-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH:
 "Here are a bunch of USB fixes for 3.13-rc3.
  Nothing major, but we seem to have an argument about a XHCI fix, so
  I'm not including a revert that Sarah requested, because that breaks a
  USB network driver, and I can't revert the USB network driver fix
  without reintroducing other bugs that it fixed.  So as it is,
  everything should now be working.  Worse case, I can revert the XHCI
  fix before 3.13-final is out, but it seems to work well here with my
  testing, so all should be good.
  Other than that, some driver updates based on reports"
* tag 'usb-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
  usb: hub: Use correct reset for wedged USB3 devices that are NOTATTACHED
  usb: ohci-pxa27x: include linux/dma-mapping.h
  USB: cdc-acm: Added support for the Lenovo RD02-D400 USB Modem
  usb: tools: fix a regression issue that gcc can't link to pthread
  USB: switch maintainership of chipidea to Peter
  USB: pl2303: fixed handling of CS5 setting
  USB: ftdi_sio: fixed handling of unsupported CSIZE setting
  USB: mos7840: correct handling of CS5 setting
  USB: spcp8x5: correct handling of CS5 setting
  usb: wusbcore: fix deadlock in wusbhc_gtk_rekey
  usb: wusbcore: do device lookup while holding the hc mutex
  usb: wusbcore: send keepalives to unauthenticated devices
  USB: option: support new huawei devices
  USB: serial: option: blacklist interface 1 for Huawei E173s-6
  usb: xhci: Link TRB must not occur within a USB payload burst
  usb: gadget: f_mass_storage: call try_to_freeze only when its safe
  usb: gadget: tcm_usb_gadget: mark bot_cleanup_old_alt static
  usb: gadget: ffs: fix sparse warning
  usb: gadget: zero: module parameters can be static
  usb: gadget: storage: fix sparse warning
  ...
Diffstat (limited to 'drivers/usb/musb/musb_core.c')
| -rw-r--r-- | drivers/usb/musb/musb_core.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 0a43329569d1..4d4499b80449 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -1809,7 +1809,6 @@ static void musb_free(struct musb *musb)  			disable_irq_wake(musb->nIrq);  		free_irq(musb->nIrq, musb);  	} -	cancel_work_sync(&musb->irq_work);  	musb_host_free(musb);  } @@ -1896,6 +1895,9 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)  	musb_platform_disable(musb);  	musb_generic_disable(musb); +	/* Init IRQ workqueue before request_irq */ +	INIT_WORK(&musb->irq_work, musb_irq_work); +  	/* setup musb parts of the core (especially endpoints) */  	status = musb_core_init(plat->config->multipoint  			? MUSB_CONTROLLER_MHDRC @@ -1905,9 +1907,6 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)  	setup_timer(&musb->otg_timer, musb_otg_timer_func, (unsigned long) musb); -	/* Init IRQ workqueue before request_irq */ -	INIT_WORK(&musb->irq_work, musb_irq_work); -  	/* attach to the IRQ */  	if (request_irq(nIrq, musb->isr, 0, dev_name(dev), musb)) {  		dev_err(dev, "request_irq %d failed!\n", nIrq); @@ -1981,6 +1980,7 @@ fail4:  	musb_host_cleanup(musb);  fail3: +	cancel_work_sync(&musb->irq_work);  	if (musb->dma_controller)  		dma_controller_destroy(musb->dma_controller);  fail2_5: @@ -2043,6 +2043,7 @@ static int musb_remove(struct platform_device *pdev)  	if (musb->dma_controller)  		dma_controller_destroy(musb->dma_controller); +	cancel_work_sync(&musb->irq_work);  	musb_free(musb);  	device_init_wakeup(dev, 0);  	return 0; |