Patch "usb: musb: remove extra check in musb_gadget_vbus_draw" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    usb: musb: remove extra check in musb_gadget_vbus_draw

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     usb-musb-remove-extra-check-in-musb_gadget_vbus_draw.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit bc9e726e9fc40480c8603c41cc132d6107e6747f
Author: Ivaylo Dimitrov <ivo.g.dimitrov.75@xxxxxxxxx>
Date:   Fri Nov 25 20:21:15 2022 +0200

    usb: musb: remove extra check in musb_gadget_vbus_draw
    
    [ Upstream commit ecec4b20d29c3d6922dafe7d2555254a454272d2 ]
    
    The checks for musb->xceiv and musb->xceiv->set_power duplicate those in
    usb_phy_set_power(), so there is no need of them. Moreover, not calling
    usb_phy_set_power() results in usb_phy_set_charger_current() not being
    called, so current USB config max current is not propagated through USB
    charger framework and charger drivers may try to draw more current than
    allowed or possible.
    
    Fix that by removing those extra checks and calling usb_phy_set_power()
    directly.
    
    Tested on Motorola Droid4 and Nokia N900
    
    Fixes: a9081a008f84 ("usb: phy: Add USB charger support")
    Cc: stable <stable@xxxxxxxxxx>
    Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@xxxxxxxxx>
    Link: https://lore.kernel.org/r/1669400475-4762-1-git-send-email-ivo.g.dimitrov.75@xxxxxxxxx
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index 8e83995fc3bd..b8fc818c154a 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -1629,8 +1629,6 @@ static int musb_gadget_vbus_draw(struct usb_gadget *gadget, unsigned mA)
 {
 	struct musb	*musb = gadget_to_musb(gadget);
 
-	if (!musb->xceiv->set_power)
-		return -EOPNOTSUPP;
 	return usb_phy_set_power(musb->xceiv, mA);
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux