summaryrefslogtreecommitdiff
authorminkai.qin <minkai.qin@amlogic.com>2018-10-25 07:12:26 (GMT)
committer Can Cao <can.cao@amlogic.com>2018-10-25 10:59:44 (GMT)
commit3e1ec9699f37f1deefe94092a7ed70fb8dbbaf71 (patch)
tree373be2be240b96fc69a41af461210d9534823c2c
parent686d817a2e10fee8c2bc600bc4f5879d84cbee8c (diff)
downloadcommon-3e1ec9699f37f1deefe94092a7ed70fb8dbbaf71.zip
common-3e1ec9699f37f1deefe94092a7ed70fb8dbbaf71.tar.gz
common-3e1ec9699f37f1deefe94092a7ed70fb8dbbaf71.tar.bz2
usb: patch for adb push fail sometime [1/1]
PD#174155 patch for adb push fail Change-Id: Ie592716d45a7efb76851cc5798e9171c8a934cac
Diffstat
-rw-r--r--drivers/usb/gadget/function/f_fs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index b72bf32..35d66f5 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -294,11 +294,13 @@ struct ffs_data_buffer *ffs_retry_malloc_buffer(struct ffs_data *ffs)
pr_info("ffs_retry_malloc_buffer\n");
for (i = 0; i < FFS_BUFFER_MAX; i++) {
if (ffs->buffer[i].data_state == -1) {
+ spin_unlock_irq(&ffs->eps_lock);
ffs->buffer[i].data_ep
= kzalloc(MAX_PAYLOAD_EPS, GFP_KERNEL);
+ spin_lock_irq(&ffs->eps_lock);
if (!ffs->buffer[i].data_ep)
return NULL;
- ffs->buffer[i].data_state = 0;
+ ffs->buffer[i].data_state = 1;
return &(ffs->buffer[i]);
}
}