[Letux-kernel] [PATCH] phy: phy-twl4030-usb: fix denied runtime access

H. Nikolaus Schaller hns at goldelico.com
Mon Aug 27 22:40:32 CEST 2018


Cool, was Du so alles findest...

Ich bin gerade mehr an der Pyra beim Bug-Fixing und das ist auch mühsam.

Beste Grüße,
Nikolaus


PS: ich bin gerade dabei einen rebase auf 4.19-rc1 zu machen und der Merge
überschreibt dann ggf. Deinen Branch. Aber ich habe eine Regel in das Script
eingebaut, die vorher prüft ob Du dann noch Neueres hast :) Dann bricht
das ab.

Ds Problem ist ja dass wir alle auf irgendwelchen work-Branches arbeiten,
die vor einem Merge mit linus/master auf dessen Stand gehoben werden sollten.
Nicht zwingend müssen, aber besser und übersichtlicher ist es schon.

Was ich vermeiden will, istdass der merge dann noch Regeln oder eine Liste
von Branches bekommt die keinen automatischen rebase bekommen sollen...

Dann muß ich aber die Autoren immer wieder dran erinnern dass sie das selber
machen. Insofern ist die Automatik eine Hilfe für alle.

Nur hast Du dann evtl. lokal einen veralteten Branch auf dem Du arbeitest.
Das merkst Du aber spätestens beim git push.

Wie man es macht ist es nicht optimal.


> Am 27.08.2018 um 21:48 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> When runtime is not enabled, pm_runtime_get_sync() returns -EACCESS,
> the counter will be incremented but the resume callback not called,
> so enumeration and charging will not start properly.
> To avoid that happen, wait and try again later.
> 
> Practically this happens when the device is woken up from suspend by
> plugging in usb.
> 
> Signed-off-by: Andreas Kemnade <andreas at kemnade.info>
> ---
> drivers/phy/ti/phy-twl4030-usb.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/phy/ti/phy-twl4030-usb.c b/drivers/phy/ti/phy-twl4030-usb.c
> index a44680d64f9b..1f3cf4e48383 100644
> --- a/drivers/phy/ti/phy-twl4030-usb.c
> +++ b/drivers/phy/ti/phy-twl4030-usb.c
> @@ -552,6 +552,15 @@ static irqreturn_t twl4030_usb_irq(int irq, void *_twl)
> 
> 	status = twl4030_usb_linkstat(twl);
> 
> +	/* we might get here too early when runtime is not ready yet
> +	 * and we will get an EACCESS later, so try again later
> +	 */
> +	if (!pm_runtime_enabled(twl->dev)) {
> +		cancel_delayed_work(&twl->id_workaround_work);
> +		schedule_delayed_work(&twl->id_workaround_work, HZ);
> +		return IRQ_HANDLED;
> +	}
> +
> 	mutex_lock(&twl->lock);
> 	if (status >= 0 && status != twl->linkstat) {
> 		status_changed =
> -- 
> 2.11.0
> 
> _______________________________________________
> http://projects.goldelico.com/p/gta04-kernel/
> Letux-kernel mailing list
> Letux-kernel at openphoenux.org
> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel



More information about the Letux-kernel mailing list