From a517ae6b2434ba7f2a619ffcec5391ea811f44cb Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Thu, 21 Apr 2011 14:10:16 +0900 Subject: [PATCH] --- yaml --- r: 248752 b: refs/heads/master c: af32fe511374f17feb137d7fbfe2f4c73a8f531c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/renesas_usbhs/common.c | 4 ++++ trunk/include/linux/usb/renesas_usbhs.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 6fafb5313581..879a82885ffe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9a28b7bd4f1fb388a15b12fb425a589ba6188425 +refs/heads/master: af32fe511374f17feb137d7fbfe2f4c73a8f531c diff --git a/trunk/drivers/usb/renesas_usbhs/common.c b/trunk/drivers/usb/renesas_usbhs/common.c index d9ad60d1c156..fda586d1f7d8 100644 --- a/trunk/drivers/usb/renesas_usbhs/common.c +++ b/trunk/drivers/usb/renesas_usbhs/common.c @@ -352,9 +352,13 @@ static int __devinit usbhs_probe(struct platform_device *pdev) static int __devexit usbhs_remove(struct platform_device *pdev) { struct usbhs_priv *priv = usbhsc_pdev_to_priv(pdev); + struct renesas_usbhs_platform_info *info = pdev->dev.platform_data; + struct renesas_usbhs_driver_callback *dfunc = &info->driver_callback; dev_dbg(&pdev->dev, "usb remove\n"); + dfunc->notify_hotplug = NULL; + pm_runtime_disable(&pdev->dev); usbhsc_bus_ctrl(priv, 0); diff --git a/trunk/include/linux/usb/renesas_usbhs.h b/trunk/include/linux/usb/renesas_usbhs.h index 565bca3aa440..66bbdd12d153 100644 --- a/trunk/include/linux/usb/renesas_usbhs.h +++ b/trunk/include/linux/usb/renesas_usbhs.h @@ -143,7 +143,7 @@ struct renesas_usbhs_platform_info { ({ \ struct renesas_usbhs_driver_callback *dc; \ dc = &(renesas_usbhs_get_info(pdev)->driver_callback); \ - if (dc) \ + if (dc && dc->notify_hotplug) \ dc->notify_hotplug(pdev); \ }) #endif /* RENESAS_USB_H */