{"shas":[["e0d6caa8c26ee00ee4f8de4048eb345fa8d9ab73","b9edd606a2aef948ae25d93d255b0c1a8e307531@motorola.com","usb: gadget: Fixed Android gadget function discovery & product matching\n\n- Don't bind until all required functions have registered\n- Consider multi-instance functions when matching products\n\nChange-Id: I6fa10567db71d49cd81968c01d75e326ff9a17c8\nSigned-off-by: John Michelau <john.michelau@motorola.com>","John Michelau"],["287d5c6be4d0bf0967c8ccf5a6a81c92ceec64c3","1b8406708353130e1db577cd918ff5882067bc46@gmail.com","virtual rollback of f3a55d6882604c731521fa19b6628b6bfc1fa5c9\n(CM6.1 usb old vold support)\n\nAs this is now a gingerbread only kernel this fucntion is not needed","ezterry"],["cdea57bbf9a88015755d5d2020e2f30ec6b99d18","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: android: Fix problem switching vendor IDs\n\nWe need to update the vendor ID in the composite driver as well\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["975b44d3174e48f9698f3483f450d433ace8555b","b9edd606a2aef948ae25d93d255b0c1a8e307531@motorola.com","USB: gadget: android Fix gadget descriptor compliance for IAD's\n\nUSB-IF core team mandates that composite devices containing\nIAD's must use bDeviceClass=0xEF, bDeviceSubClass=0x02, &\nbDeviceProtocol=0x01 instead of the usual 0x00 in all fields.\nThis is not a problem currently on Linux hosts, but it is a\nproblem when connecting to Windows hosts. Without this change\nthe default Microsoft composite driver will not group\ninterfaces properly, which is what allows child function\ndrivers with IAD's to load correctly.\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","John Michelau"],["45ad0330580736564074ff65917107a7070477fb","b9edd606a2aef948ae25d93d255b0c1a8e307531@motorola.com","USB: gadget: composite: Dynamically set IAD bFirstInterface\n\nbFirstInterface should be set equal to bInterfaceNumber of\nthe first interface in a grouping. It's currently being set\nonly when a composite device is bound, and it does not get\nupdated when functions are enabled or disabled.\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","John Michelau"],["8bff7a150e25da10c09ea84d94696b62130610ed","b9edd606a2aef948ae25d93d255b0c1a8e307531@motorola.com","usb: gadget: Multiple ACM gadget instances\n\n- Added multiple ACM instance support in Android gadget\n- Fixed multiple instance naming issue in ACM function\n- Increased max instances from 4 to 8\n\nChange-Id: I65f1b0be94da859bab7ec0ad7cd804b896c7c4c5\nSigned-off-by: John Michelau <john.michelau@motorola.com>","John Michelau"],["0cd18ae2118672377e0fcb3bfccef51fdb591967","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: composite: Use separate switches for connected and config state\n\nAlso remove disconnect debouncing, which didn't actually work on some platforms\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["716171c88086e5a0a4aec8a8d0e153406ab0ea7a","7334fb45872eed4e172b87a55852921cc15a56c9@tomtom.com","USB: gadget: Allow function access to device ID data during bind()\n\nThis is a patch that makes sure that the device ID data (idVendor,\nidProduct and bcdDevice) are assigned to the descriptor in the cdev\nstructure *before* the composite gadget starts binding. This allows the\ncomposite driver, and all the composite functions it uses, access to\nthat data.\n\nIn one of the composite functions we created, we needed to register an\ninput device and wanted to use the idVendor, idProduct and bcdDevice\ncodes to properly initialize the id field of the input device. We could\nnot do that because the idVendor, idProduct and bcdDevice values were\nonly set in the cdec structure *after* the composite->bind(cdev) call.\n\nSigned-off-by: Robert Lukassen <robert.lukassen@tomtom.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@suse.de>","Robert Lukassen"],["7fc6cfd80227754615b7a73e7a1bae25469de701","b9edd606a2aef948ae25d93d255b0c1a8e307531@motorola.com","USB: gadget: acm,rndis: IAD class, subclass & prot should match 1st iface\n\nMicrosoft recommends that the class and subclass fields of\nan IAD match the same fields from the first interface in the\ncollection that the IAD is grouping. In practice, we are also\nfinding that the protocol fields should also match. Without\nthis change, the default Microsoft composite driver may not\ngroup interfaces properly, which is what allows child\nfunction drivers with IAD's to load correctly.\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","John Michelau"],["a38228fef7c1a56fb490300b74c679751866e36f","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: f_mtp: dequeue request on error in mtp_read\n\nIn mtp_read(), if wait_event_interruptible() returns an error, we need to\nremove the request from the EP queue.  Else, on the next call to mtp_read(), we\nwill attempt to enqueue the request again, potentially corrupting the\nqueue.  This is what happens with musb_gadget_queue(), which does not check for\nduplicate requests.\n\nBased on a similar change to f_adb.c\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["c8b0c0cdc62b85caaeb09d855c0f189571924011","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: f_mtp: Fix problems transferring files from device to host\n\nExit from send_file_work immediately when a cancel request is received.\n\nOnly busy status if there is a cancel pending that has not been repoorted to userspace.\nThis avoids a race condition that can occur when mtp_read resets the state\nto STATE_BUSY before we report status OK back to the host.\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["0df2c33d3428b869f42b65b5b095d6896a2c1f4d","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: f_mtp: Make sure request is dequeued if transfer is canceled\n\nIf the host cancels a file transfer while we have a read request pending,\ncall usb_ep_dequeue to cancel the read.\nAlso return -ECANCELED from mtp_ioctl if we are canceled in MTP_RECEIVE_FILE\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["a4da3c0247142a582433eac4da20865517fffa0f","368d0007e4626f70737d16df5e49ed8806b98c3f@android.com","USB: gadget: f_mtp: Don't block in mtp_send_event\n\nWe used to wait for the previous interrupt packet to complete before sending\nthe next packet.  But unfortunately the previous packet will not complete\nuntil USB is disconnected if the host is not listening on the interrupt\nendpoint (which is the case with libmtp on Linux and Mac).\nTo avoid hanging indefinitely in this case, we now simply return -EBUSY\nif the previous interrupt packet has not completed yet.\n\nSigned-off-by: Mike Lockwood <lockwood@android.com>","Mike Lockwood"],["5a548f35a468b8844066e618dd7923e57f8e4600","1b8406708353130e1db577cd918ff5882067bc46@gmail.com","Fix USB support","ezterry"]],"repo":"ezterry/kernel-biff-testing","actor":"ezterry","ref":"refs/heads/ezgb-2636","size":14,"head":"5a548f35a468b8844066e618dd7923e57f8e4600","actor_gravatar":"cc8e4e93d7ff16d63c44746984d281b5","push_id":28153917}