usb: phy: Find the right match in devm_usb_phy_match
authorAxel Lin <axel.lin@ingics.com>
Thu, 12 Mar 2015 01:15:28 +0000 (09:15 +0800)
committerFelipe Balbi <balbi@ti.com>
Thu, 19 Mar 2015 16:28:14 +0000 (11:28 -0500)
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>
Cc: <stable@vger.kernel.org> # v3.6+
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/phy/phy.c

index 2f9735b3533891c85dc907d8b1cc95a1e50d2559..d1cd6b50f5204898f0ed11785eecc73d1d6f5ebd 100644 (file)
@@ -81,7 +81,9 @@ static void devm_usb_phy_release(struct device *dev, void *res)
 
 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;
 }
 
 /**