| From 869aee0f31429fa9d94d5aef539602b73ae0cf4b Mon Sep 17 00:00:00 2001 |
| From: Axel Lin <axel.lin@ingics.com> |
| Date: Thu, 12 Mar 2015 09:15:28 +0800 |
| Subject: usb: phy: Find the right match in devm_usb_phy_match |
| |
| From: Axel Lin <axel.lin@ingics.com> |
| |
| commit 869aee0f31429fa9d94d5aef539602b73ae0cf4b upstream. |
| |
| The res parameter passed to devm_usb_phy_match() is the location where the |
| pointer to the usb_phy is stored, hence it needs to be dereferenced before |
| comparing to the match data in order to find the correct match. |
| |
| Fixes: 410219dcd2ba ("usb: otg: utils: devres: Add API's to associate a device with the phy") |
| Signed-off-by: Axel Lin <axel.lin@ingics.com> |
| Signed-off-by: Felipe Balbi <balbi@ti.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/phy/phy.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/phy/phy.c |
| +++ b/drivers/usb/phy/phy.c |
| @@ -81,7 +81,9 @@ static void devm_usb_phy_release(struct |
| |
| static int devm_usb_phy_match(struct device *dev, void *res, void *match_data) |
| { |
| - return res == match_data; |
| + struct usb_phy **phy = res; |
| + |
| + return *phy == match_data; |
| } |
| |
| /** |