[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5563D847.106@linux.intel.com>
Date: Tue, 26 May 2015 10:19:51 +0800
From: "Zhang, Yanmin" <yanmin_zhang@...ux.intel.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
xinhuix.pan@...el.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Alan Cox <alan@...ux.intel.com>
Subject: [PATCH 0/3] cdc-acm: fix incorrect runtime wakeup in acm_tty_write
There is a scenario about cdc-acm utilization.Application opens
n_gsm tty and cdc-acm tty. cdc-acm tty connects to xhci device.
The application configures cdc-adm tty to n_gsm tty as ldisc tty.
n_gsm=>cdc-acm=>xhci driver
acm_tty_write can be called from n_gsm driver by ldisc connection,
and from application when application opens cdc-acm tty directly.
acm_tty_write wakes up the device by calling usb_autopm_get_interface_async,
which calls pm_runtime_get. However, pm_runtime_get can't wake up
the device before returning as it's an async wake up. Then, acm_tty_write
might access the device when it is off.
The patchset fixes it by:
1) add a new function usb_autopm_get_interface_upgrade to deal with
above 2 requirements;
2) wake up device in n_gsm driver if n_gsm drivers calls cdc-acm driver;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists