usb: serial: Add a check for current autosuspend-delay expiration

Upon autosuspend-delay expiration for the device, runtime pm thread
initiates run time suspend after checking device's power.last_busy
time. There is a possibility of race condition between this check
and device interface driver updating power.last_busy time which
results in interface suspend in the middle of ongoing transfer
on that interface.

CRs-Fixed: 381765
Change-Id: I1fc4f8d9d9e83ef3ef6c564ee76294a703230fad
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index 624c36d..366df67 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -759,7 +759,7 @@
 		b = intfdata->in_flight;
 		spin_unlock_irq(&intfdata->susp_lock);
 
-		if (b)
+		if (b || pm_runtime_autosuspend_expiration(&serial->dev->dev))
 			return -EBUSY;
 	}