aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/dwc3/dwc3-omap.c2
-rw-r--r--drivers/usb/gadget/Makefile2
-rw-r--r--drivers/usb/gadget/function/Makefile4
-rw-r--r--drivers/usb/gadget/function/u_ether.c3
-rw-r--r--drivers/usb/gadget/function/uvc_video.c3
-rw-r--r--drivers/usb/gadget/legacy/Makefile6
-rw-r--r--drivers/usb/gadget/legacy/dbgp.c2
-rw-r--r--drivers/usb/gadget/legacy/inode.c2
-rw-r--r--drivers/usb/gadget/udc/Kconfig3
-rw-r--r--drivers/usb/gadget/udc/atmel_usba_udc.c2
-rw-r--r--drivers/usb/gadget/udc/fusb300_udc.c8
-rw-r--r--drivers/usb/gadget/udc/pch_udc.c22
-rw-r--r--drivers/usb/gadget/udc/r8a66597-udc.c4
-rw-r--r--drivers/usb/musb/ux500_dma.c2
-rw-r--r--drivers/usb/phy/phy-gpio-vbus-usb.c4
-rw-r--r--drivers/usb/phy/phy-msm-usb.c4
-rw-r--r--drivers/usb/phy/phy-samsung-usb.h2
-rw-r--r--drivers/usb/phy/phy.c3
18 files changed, 51 insertions, 27 deletions
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
index ef4936ff626c..9dcfbe7cd5f5 100644
--- a/drivers/usb/dwc3/dwc3-omap.c
+++ b/drivers/usb/dwc3/dwc3-omap.c
@@ -425,7 +425,7 @@ static void dwc3_omap_set_utmi_mode(struct dwc3_omap *omap)
425 425
426static int dwc3_omap_extcon_register(struct dwc3_omap *omap) 426static int dwc3_omap_extcon_register(struct dwc3_omap *omap)
427{ 427{
428 u32 ret; 428 int ret;
429 struct device_node *node = omap->dev->of_node; 429 struct device_node *node = omap->dev->of_node;
430 struct extcon_dev *edev; 430 struct extcon_dev *edev;
431 431
diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
index a186afeaa700..9add915d41f7 100644
--- a/drivers/usb/gadget/Makefile
+++ b/drivers/usb/gadget/Makefile
@@ -3,7 +3,7 @@
3# 3#
4subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG 4subdir-ccflags-$(CONFIG_USB_GADGET_DEBUG) := -DDEBUG
5subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG 5subdir-ccflags-$(CONFIG_USB_GADGET_VERBOSE) += -DVERBOSE_DEBUG
6ccflags-y += -I$(PWD)/drivers/usb/gadget/udc 6ccflags-y += -Idrivers/usb/gadget/udc
7 7
8obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o 8obj-$(CONFIG_USB_LIBCOMPOSITE) += libcomposite.o
9libcomposite-y := usbstring.o config.o epautoconf.o 9libcomposite-y := usbstring.o config.o epautoconf.o
diff --git a/drivers/usb/gadget/function/Makefile b/drivers/usb/gadget/function/Makefile
index 6d91f21b52a6..83ae1065149d 100644
--- a/drivers/usb/gadget/function/Makefile
+++ b/drivers/usb/gadget/function/Makefile
@@ -2,8 +2,8 @@
2# USB peripheral controller drivers 2# USB peripheral controller drivers
3# 3#
4 4
5ccflags-y := -I$(PWD)/drivers/usb/gadget/ 5ccflags-y := -Idrivers/usb/gadget/
6ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ 6ccflags-y += -Idrivers/usb/gadget/udc/
7 7
8# USB Functions 8# USB Functions
9usb_f_acm-y := f_acm.o 9usb_f_acm-y := f_acm.o
diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
index d50adda913cf..6e6f87656e7b 100644
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
@@ -1127,10 +1127,7 @@ void gether_disconnect(struct gether *link)
1127 1127
1128 DBG(dev, "%s\n", __func__); 1128 DBG(dev, "%s\n", __func__);
1129 1129
1130 netif_tx_lock(dev->net);
1131 netif_stop_queue(dev->net); 1130 netif_stop_queue(dev->net);
1132 netif_tx_unlock(dev->net);
1133
1134 netif_carrier_off(dev->net); 1131 netif_carrier_off(dev->net);
1135 1132
1136 /* disable endpoints, forcing (synchronous) completion 1133 /* disable endpoints, forcing (synchronous) completion
diff --git a/drivers/usb/gadget/function/uvc_video.c b/drivers/usb/gadget/function/uvc_video.c
index 71e896d4c5ae..a5eb9a3fbb7a 100644
--- a/drivers/usb/gadget/function/uvc_video.c
+++ b/drivers/usb/gadget/function/uvc_video.c
@@ -195,6 +195,7 @@ uvc_video_complete(struct usb_ep *ep, struct usb_request *req)
195 printk(KERN_INFO "Failed to queue request (%d).\n", ret); 195 printk(KERN_INFO "Failed to queue request (%d).\n", ret);
196 usb_ep_set_halt(ep); 196 usb_ep_set_halt(ep);
197 spin_unlock_irqrestore(&video->queue.irqlock, flags); 197 spin_unlock_irqrestore(&video->queue.irqlock, flags);
198 uvc_queue_cancel(queue, 0);
198 goto requeue; 199 goto requeue;
199 } 200 }
200 spin_unlock_irqrestore(&video->queue.irqlock, flags); 201 spin_unlock_irqrestore(&video->queue.irqlock, flags);
@@ -281,6 +282,7 @@ error:
281static int 282static int
282uvc_video_pump(struct uvc_video *video) 283uvc_video_pump(struct uvc_video *video)
283{ 284{
285 struct uvc_video_queue *queue = &video->queue;
284 struct usb_request *req; 286 struct usb_request *req;
285 struct uvc_buffer *buf; 287 struct uvc_buffer *buf;
286 unsigned long flags; 288 unsigned long flags;
@@ -322,6 +324,7 @@ uvc_video_pump(struct uvc_video *video)
322 printk(KERN_INFO "Failed to queue request (%d)\n", ret); 324 printk(KERN_INFO "Failed to queue request (%d)\n", ret);
323 usb_ep_set_halt(video->ep); 325 usb_ep_set_halt(video->ep);
324 spin_unlock_irqrestore(&video->queue.irqlock, flags); 326 spin_unlock_irqrestore(&video->queue.irqlock, flags);
327 uvc_queue_cancel(queue, 0);
325 break; 328 break;
326 } 329 }
327 spin_unlock_irqrestore(&video->queue.irqlock, flags); 330 spin_unlock_irqrestore(&video->queue.irqlock, flags);
diff --git a/drivers/usb/gadget/legacy/Makefile b/drivers/usb/gadget/legacy/Makefile
index a11aad5635df..edba2d1ee0f3 100644
--- a/drivers/usb/gadget/legacy/Makefile
+++ b/drivers/usb/gadget/legacy/Makefile
@@ -2,9 +2,9 @@
2# USB gadget drivers 2# USB gadget drivers
3# 3#
4 4
5ccflags-y := -I$(PWD)/drivers/usb/gadget/ 5ccflags-y := -Idrivers/usb/gadget/
6ccflags-y += -I$(PWD)/drivers/usb/gadget/udc/ 6ccflags-y += -Idrivers/usb/gadget/udc/
7ccflags-y += -I$(PWD)/drivers/usb/gadget/function/ 7ccflags-y += -Idrivers/usb/gadget/function/
8 8
9g_zero-y := zero.o 9g_zero-y := zero.o
10g_audio-y := audio.o 10g_audio-y := audio.o
diff --git a/drivers/usb/gadget/legacy/dbgp.c b/drivers/usb/gadget/legacy/dbgp.c
index 986fc511a2ed..225e385a6160 100644
--- a/drivers/usb/gadget/legacy/dbgp.c
+++ b/drivers/usb/gadget/legacy/dbgp.c
@@ -222,10 +222,12 @@ static void dbgp_unbind(struct usb_gadget *gadget)
222{ 222{
223#ifdef CONFIG_USB_G_DBGP_SERIAL 223#ifdef CONFIG_USB_G_DBGP_SERIAL
224 kfree(dbgp.serial); 224 kfree(dbgp.serial);
225 dbgp.serial = NULL;
225#endif 226#endif
226 if (dbgp.req) { 227 if (dbgp.req) {
227 kfree(dbgp.req->buf); 228 kfree(dbgp.req->buf);
228 usb_ep_free_request(gadget->ep0, dbgp.req); 229 usb_ep_free_request(gadget->ep0, dbgp.req);
230 dbgp.req = NULL;
229 } 231 }
230 232
231 gadget->ep0->driver_data = NULL; 233 gadget->ep0->driver_data = NULL;
diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
index 2e4ce7704908..e96077b8bf79 100644
--- a/drivers/usb/gadget/legacy/inode.c
+++ b/drivers/usb/gadget/legacy/inode.c
@@ -440,7 +440,7 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
440 440
441 value = -ENOMEM; 441 value = -ENOMEM;
442 kbuf = memdup_user(buf, len); 442 kbuf = memdup_user(buf, len);
443 if (!kbuf) { 443 if (IS_ERR(kbuf)) {
444 value = PTR_ERR(kbuf); 444 value = PTR_ERR(kbuf);
445 goto free1; 445 goto free1;
446 } 446 }
diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
index 5151f947a4f5..34ebaa68504c 100644
--- a/drivers/usb/gadget/udc/Kconfig
+++ b/drivers/usb/gadget/udc/Kconfig
@@ -332,7 +332,7 @@ config USB_GOKU
332 gadget drivers to also be dynamically linked. 332 gadget drivers to also be dynamically linked.
333 333
334config USB_EG20T 334config USB_EG20T
335 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC" 335 tristate "Intel QUARK X1000/EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC"
336 depends on PCI 336 depends on PCI
337 help 337 help
338 This is a USB device driver for EG20T PCH. 338 This is a USB device driver for EG20T PCH.
@@ -353,6 +353,7 @@ config USB_EG20T
353 ML7213/ML7831 is companion chip for Intel Atom E6xx series. 353 ML7213/ML7831 is companion chip for Intel Atom E6xx series.
354 ML7213/ML7831 is completely compatible for Intel EG20T PCH. 354 ML7213/ML7831 is completely compatible for Intel EG20T PCH.
355 355
356 This driver can be used with Intel's Quark X1000 SOC platform
356# 357#
357# LAST -- dummy/emulated controller 358# LAST -- dummy/emulated controller
358# 359#
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c
index 906e65f0e4fa..c9fe67e29d35 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.c
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
@@ -1661,7 +1661,7 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
1661 if (dma_status) { 1661 if (dma_status) {
1662 int i; 1662 int i;
1663 1663
1664 for (i = 1; i < USBA_NR_DMAS; i++) 1664 for (i = 1; i <= USBA_NR_DMAS; i++)
1665 if (dma_status & (1 << i)) 1665 if (dma_status & (1 << i))
1666 usba_dma_irq(udc, &udc->usba_ep[i]); 1666 usba_dma_irq(udc, &udc->usba_ep[i]);
1667 } 1667 }
diff --git a/drivers/usb/gadget/udc/fusb300_udc.c b/drivers/usb/gadget/udc/fusb300_udc.c
index d40255f784df..5c5d1adda7eb 100644
--- a/drivers/usb/gadget/udc/fusb300_udc.c
+++ b/drivers/usb/gadget/udc/fusb300_udc.c
@@ -1398,13 +1398,17 @@ static int fusb300_probe(struct platform_device *pdev)
1398 1398
1399 /* initialize udc */ 1399 /* initialize udc */
1400 fusb300 = kzalloc(sizeof(struct fusb300), GFP_KERNEL); 1400 fusb300 = kzalloc(sizeof(struct fusb300), GFP_KERNEL);
1401 if (fusb300 == NULL) 1401 if (fusb300 == NULL) {
1402 ret = -ENOMEM;
1402 goto clean_up; 1403 goto clean_up;
1404 }
1403 1405
1404 for (i = 0; i < FUSB300_MAX_NUM_EP; i++) { 1406 for (i = 0; i < FUSB300_MAX_NUM_EP; i++) {
1405 _ep[i] = kzalloc(sizeof(struct fusb300_ep), GFP_KERNEL); 1407 _ep[i] = kzalloc(sizeof(struct fusb300_ep), GFP_KERNEL);
1406 if (_ep[i] == NULL) 1408 if (_ep[i] == NULL) {
1409 ret = -ENOMEM;
1407 goto clean_up; 1410 goto clean_up;
1411 }
1408 fusb300->ep[i] = _ep[i]; 1412 fusb300->ep[i] = _ep[i];
1409 } 1413 }
1410 1414
diff --git a/drivers/usb/gadget/udc/pch_udc.c b/drivers/usb/gadget/udc/pch_udc.c
index eb8c3bedb57a..460d953c91b6 100644
--- a/drivers/usb/gadget/udc/pch_udc.c
+++ b/drivers/usb/gadget/udc/pch_udc.c
@@ -343,6 +343,7 @@ struct pch_vbus_gpio_data {
343 * @setup_data: Received setup data 343 * @setup_data: Received setup data
344 * @phys_addr: of device memory 344 * @phys_addr: of device memory
345 * @base_addr: for mapped device memory 345 * @base_addr: for mapped device memory
346 * @bar: Indicates which PCI BAR for USB regs
346 * @irq: IRQ line for the device 347 * @irq: IRQ line for the device
347 * @cfg_data: current cfg, intf, and alt in use 348 * @cfg_data: current cfg, intf, and alt in use
348 * @vbus_gpio: GPIO informaton for detecting VBUS 349 * @vbus_gpio: GPIO informaton for detecting VBUS
@@ -370,14 +371,17 @@ struct pch_udc_dev {
370 struct usb_ctrlrequest setup_data; 371 struct usb_ctrlrequest setup_data;
371 unsigned long phys_addr; 372 unsigned long phys_addr;
372 void __iomem *base_addr; 373 void __iomem *base_addr;
374 unsigned bar;
373 unsigned irq; 375 unsigned irq;
374 struct pch_udc_cfg_data cfg_data; 376 struct pch_udc_cfg_data cfg_data;
375 struct pch_vbus_gpio_data vbus_gpio; 377 struct pch_vbus_gpio_data vbus_gpio;
376}; 378};
377#define to_pch_udc(g) (container_of((g), struct pch_udc_dev, gadget)) 379#define to_pch_udc(g) (container_of((g), struct pch_udc_dev, gadget))
378 380
381#define PCH_UDC_PCI_BAR_QUARK_X1000 0
379#define PCH_UDC_PCI_BAR 1 382#define PCH_UDC_PCI_BAR 1
380#define PCI_DEVICE_ID_INTEL_EG20T_UDC 0x8808 383#define PCI_DEVICE_ID_INTEL_EG20T_UDC 0x8808
384#define PCI_DEVICE_ID_INTEL_QUARK_X1000_UDC 0x0939
381#define PCI_VENDOR_ID_ROHM 0x10DB 385#define PCI_VENDOR_ID_ROHM 0x10DB
382#define PCI_DEVICE_ID_ML7213_IOH_UDC 0x801D 386#define PCI_DEVICE_ID_ML7213_IOH_UDC 0x801D
383#define PCI_DEVICE_ID_ML7831_IOH_UDC 0x8808 387#define PCI_DEVICE_ID_ML7831_IOH_UDC 0x8808
@@ -3076,7 +3080,7 @@ static void pch_udc_remove(struct pci_dev *pdev)
3076 iounmap(dev->base_addr); 3080 iounmap(dev->base_addr);
3077 if (dev->mem_region) 3081 if (dev->mem_region)
3078 release_mem_region(dev->phys_addr, 3082 release_mem_region(dev->phys_addr,
3079 pci_resource_len(pdev, PCH_UDC_PCI_BAR)); 3083 pci_resource_len(pdev, dev->bar));
3080 if (dev->active) 3084 if (dev->active)
3081 pci_disable_device(pdev); 3085 pci_disable_device(pdev);
3082 kfree(dev); 3086 kfree(dev);
@@ -3144,9 +3148,15 @@ static int pch_udc_probe(struct pci_dev *pdev,
3144 dev->active = 1; 3148 dev->active = 1;
3145 pci_set_drvdata(pdev, dev); 3149 pci_set_drvdata(pdev, dev);
3146 3150
3151 /* Determine BAR based on PCI ID */
3152 if (id->device == PCI_DEVICE_ID_INTEL_QUARK_X1000_UDC)
3153 dev->bar = PCH_UDC_PCI_BAR_QUARK_X1000;
3154 else
3155 dev->bar = PCH_UDC_PCI_BAR;
3156
3147 /* PCI resource allocation */ 3157 /* PCI resource allocation */
3148 resource = pci_resource_start(pdev, 1); 3158 resource = pci_resource_start(pdev, dev->bar);
3149 len = pci_resource_len(pdev, 1); 3159 len = pci_resource_len(pdev, dev->bar);
3150 3160
3151 if (!request_mem_region(resource, len, KBUILD_MODNAME)) { 3161 if (!request_mem_region(resource, len, KBUILD_MODNAME)) {
3152 dev_err(&pdev->dev, "%s: pci device used already\n", __func__); 3162 dev_err(&pdev->dev, "%s: pci device used already\n", __func__);
@@ -3212,6 +3222,12 @@ finished:
3212 3222
3213static const struct pci_device_id pch_udc_pcidev_id[] = { 3223static const struct pci_device_id pch_udc_pcidev_id[] = {
3214 { 3224 {
3225 PCI_DEVICE(PCI_VENDOR_ID_INTEL,
3226 PCI_DEVICE_ID_INTEL_QUARK_X1000_UDC),
3227 .class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe,
3228 .class_mask = 0xffffffff,
3229 },
3230 {
3215 PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EG20T_UDC), 3231 PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EG20T_UDC),
3216 .class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe, 3232 .class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe,
3217 .class_mask = 0xffffffff, 3233 .class_mask = 0xffffffff,
diff --git a/drivers/usb/gadget/udc/r8a66597-udc.c b/drivers/usb/gadget/udc/r8a66597-udc.c
index 46008421c1ec..de2a8713b428 100644
--- a/drivers/usb/gadget/udc/r8a66597-udc.c
+++ b/drivers/usb/gadget/udc/r8a66597-udc.c
@@ -1868,8 +1868,8 @@ static int r8a66597_probe(struct platform_device *pdev)
1868 1868
1869 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1869 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1870 reg = devm_ioremap_resource(&pdev->dev, res); 1870 reg = devm_ioremap_resource(&pdev->dev, res);
1871 if (!reg) 1871 if (IS_ERR(reg))
1872 return -ENODEV; 1872 return PTR_ERR(reg);
1873 1873
1874 ires = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 1874 ires = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
1875 irq = ires->start; 1875 irq = ires->start;
diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
index 9aad00f11bd5..221faed9f074 100644
--- a/drivers/usb/musb/ux500_dma.c
+++ b/drivers/usb/musb/ux500_dma.c
@@ -96,7 +96,7 @@ static bool ux500_configure_channel(struct dma_channel *channel,
96 struct musb *musb = ux500_channel->controller->private_data; 96 struct musb *musb = ux500_channel->controller->private_data;
97 97
98 dev_dbg(musb->controller, 98 dev_dbg(musb->controller,
99 "packet_sz=%d, mode=%d, dma_addr=0x%llu, len=%d is_tx=%d\n", 99 "packet_sz=%d, mode=%d, dma_addr=0x%llx, len=%d is_tx=%d\n",
100 packet_sz, mode, (unsigned long long) dma_addr, 100 packet_sz, mode, (unsigned long long) dma_addr,
101 len, ux500_channel->is_tx); 101 len, ux500_channel->is_tx);
102 102
diff --git a/drivers/usb/phy/phy-gpio-vbus-usb.c b/drivers/usb/phy/phy-gpio-vbus-usb.c
index ea9e705555df..f4b14bd97e14 100644
--- a/drivers/usb/phy/phy-gpio-vbus-usb.c
+++ b/drivers/usb/phy/phy-gpio-vbus-usb.c
@@ -260,10 +260,8 @@ static int gpio_vbus_probe(struct platform_device *pdev)
260 260
261 gpio_vbus->phy.otg = devm_kzalloc(&pdev->dev, sizeof(struct usb_otg), 261 gpio_vbus->phy.otg = devm_kzalloc(&pdev->dev, sizeof(struct usb_otg),
262 GFP_KERNEL); 262 GFP_KERNEL);
263 if (!gpio_vbus->phy.otg) { 263 if (!gpio_vbus->phy.otg)
264 kfree(gpio_vbus);
265 return -ENOMEM; 264 return -ENOMEM;
266 }
267 265
268 platform_set_drvdata(pdev, gpio_vbus); 266 platform_set_drvdata(pdev, gpio_vbus);
269 gpio_vbus->dev = &pdev->dev; 267 gpio_vbus->dev = &pdev->dev;
diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c
index e4108eec5ef4..afc09087ec36 100644
--- a/drivers/usb/phy/phy-msm-usb.c
+++ b/drivers/usb/phy/phy-msm-usb.c
@@ -1601,8 +1601,8 @@ static int msm_otg_probe(struct platform_device *pdev)
1601 */ 1601 */
1602 if (motg->phy_number) { 1602 if (motg->phy_number) {
1603 phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4); 1603 phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4);
1604 if (IS_ERR(phy_select)) 1604 if (!phy_select)
1605 return PTR_ERR(phy_select); 1605 return -ENOMEM;
1606 /* Enable second PHY with the OTG port */ 1606 /* Enable second PHY with the OTG port */
1607 writel(0x1, phy_select); 1607 writel(0x1, phy_select);
1608 } 1608 }
diff --git a/drivers/usb/phy/phy-samsung-usb.h b/drivers/usb/phy/phy-samsung-usb.h
index 68771bfd1825..80eedd45a20a 100644
--- a/drivers/usb/phy/phy-samsung-usb.h
+++ b/drivers/usb/phy/phy-samsung-usb.h
@@ -216,7 +216,7 @@
216 216
217#define EXYNOS5_DRD_PHYPARAM1 (0x20) 217#define EXYNOS5_DRD_PHYPARAM1 (0x20)
218 218
219#define PHYPARAM1_PCS_TXDEEMPH_MASK (0x1f << 0) 219#define PHYPARAM1_PCS_TXDEEMPH_MASK (0x3f << 0)
220#define PHYPARAM1_PCS_TXDEEMPH (0x1c) 220#define PHYPARAM1_PCS_TXDEEMPH (0x1c)
221 221
222#define EXYNOS5_DRD_PHYTERM (0x24) 222#define EXYNOS5_DRD_PHYTERM (0x24)
diff --git a/drivers/usb/phy/phy.c b/drivers/usb/phy/phy.c
index 6d0f6080eceb..045cd309367a 100644
--- a/drivers/usb/phy/phy.c
+++ b/drivers/usb/phy/phy.c
@@ -232,6 +232,9 @@ struct usb_phy *usb_get_phy_dev(struct device *dev, u8 index)
232 phy = __usb_find_phy_dev(dev, &phy_bind_list, index); 232 phy = __usb_find_phy_dev(dev, &phy_bind_list, index);
233 if (IS_ERR(phy) || !try_module_get(phy->dev->driver->owner)) { 233 if (IS_ERR(phy) || !try_module_get(phy->dev->driver->owner)) {
234 dev_dbg(dev, "unable to find transceiver\n"); 234 dev_dbg(dev, "unable to find transceiver\n");
235 if (!IS_ERR(phy))
236 phy = ERR_PTR(-ENODEV);
237
235 goto err0; 238 goto err0;
236 } 239 }
237 240