summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function (follow)
Commit message (Collapse)AuthorAge
...
| * | | | usb: gadget: f_qc_rndis: Change function name from qcrndis to bamChandana Kishori Chiluveru2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bam can represent the transport used for the function. Hence change the name from qcrndis to bam. Change-Id: Ie153ae9cc00a72287b10623d63f29c08a1154cb9 Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
* | | | | Merge "usb: gadget: f_midi: Fix use after free bug"Linux Build Service Account2016-10-18
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | usb: gadget: f_midi: Fix use after free bugHemant Kumar2016-10-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upon cable disconnect usb composition switches from midi to default composition as a result midi function driver frees the midi function. When cable is plugged back in android_setup calls function setup call back for all the function instances having non-null function pointer. This results into access to already freed function pointer stored in function instance. Fix this issue by setting function instance's function pointer to NULL so that android_setup will skip calling midi function setup upon next cable connect. Change-Id: Ia619650c94c35aea015a89841c59a1f9dbc521f9 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | | usb: gadget: f_midi: Use 1024 bytes as MIDI buffer sizeHemant Kumar2016-10-13
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some UDC driver doesn't allow or throw errors when USB request buffer queued is unaligned i.e. buffer size is not equal to wMaxPacketSize or multiple of wMaxPacketSize. Fix this issue by using 1024 bytes as MIDI buffer size instead of 256 bytes. Change-Id: I71d520a5a800a3e612dc4d57e7baffa93fad61b3 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | Merge "usb: gadget: ncm: Add super speed descriptors for NCM function"Linux Build Service Account2016-10-10
|\ \ \ \
| * | | | usb: gadget: ncm: Add super speed descriptors for NCM functionMayank Rana2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds super speed descriptors which is required to get NCM function to work with SSUSB mode. The burst capability is not enabled for now. CRs-Fixed: 804486 Change-Id: I6239ad9e64969afb4e9af87d76837b940c3d1348 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge "usb: gadget: f_mtp: Handle mtp os desc properly"Linux Build Service Account2016-10-06
|\ \ \ \ \
| * | | | | usb: gadget: f_mtp: Handle mtp os desc properlyHemant Kumar2016-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently mtp function driver is skipping function setup call back by not populating function pointer in function instance. Also, is_ptp flag is set incorrectly as true for mtp instance which would pass wrong os descriptor for mtp and ptp instance. Allow mtp driver to send os descriptor by populating function pointer in function instance and correctly set the is_ptp flag to pass valid os descriptors. Change-Id: Iec05a2f9309aba7d9ff81eca4ce683eff1590699 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | | | Merge "usb: gadget: f_gsi: Enable auto detect RNDIS device on windows OS"Linux Build Service Account2016-10-06
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | usb: gadget: f_gsi: Enable auto detect RNDIS device on windows OSHemant Kumar2016-10-05
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RNDIS IAD descriptor needs to get updated to support auto detection of RNDIS device so that windows OS can load the RNDIS driver without manually loading the driver. Change-Id: Ia0cb418d886d6dd066d956c359a39af3ab47c9f2 Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | | Merge "usb: gadget: f_qc_rndis: Add support for configfs"Linux Build Service Account2016-10-06
|\ \ \ \ \
| * | | | | usb: gadget: f_qc_rndis: Add support for configfsChandana Kishori Chiluveru2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add APIs to allocate and instanciate f_qc_rndis function driver using configFS. Change-Id: I24f3dcb14c6467ab4c2d2eda464dfacda2c5b426 Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
* | | | | | Merge "usb: gadget: f_qc_rndis: Add RNDIS support using IPA over BAM2BAM"Linux Build Service Account2016-10-06
|\| | | | | | |/ / / / |/| | | |
| * | | | usb: gadget: f_qc_rndis: Add RNDIS support using IPA over BAM2BAMChandana Kishori Chiluveru2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some targets RNDIS function uses BAM to BAM transport, and is handled by the f_qc_rndis driver. This change adds RNDIS support using IPA over BAM2BAM. Also removes all different supported control and data transports and assume BAM2BAM_IPA as default mode. RNDIS UL changes using software path also removed as IPA supports both UL and DL on latest products. DPL support will be added in subsequent patches. Change-Id: I8f7bf069523a8f3ea37e0a32a2e32830944a5c97 Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
* | | | | Merge "usb: gadget: f_cdev: Fix memory leak with func_name"Linux Build Service Account2016-10-01
|\ \ \ \ \
| * | | | | usb: gadget: f_cdev: Fix memory leak with func_nameMayank Rana2016-09-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | func_name related memory is allocated on creating instance of driver with cser_set_inst_name() API with usage of kstrndup(). If cser_set_inst_name() returns non-zero value or driver instance is released, this func_name related memory is not freed. Fix this memory leak by freeing func_name from cser_free_inst() API. CRs-Fixed: 1070060 Change-Id: I7ba4c5a65bb01d056b4d2690fe30f7cbe47ba311 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | | Merge "usb: gadget: f_cdev: Remove func_name and port_num attributes"Linux Build Service Account2016-10-01
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | usb: gadget: f_cdev: Remove func_name and port_num attributesMayank Rana2016-09-23
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | func_name and port_num attributes related information is already available as part of created driver instance name itself. These attributes don't give any valuable information. Hence remove both attributes and related functionality. Add check against length of func_name. CRs-Fixed: 1069476 Change-Id: Ibfc050cda62cfc7e5838949ae833a9d7c0a59303 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge "usb: gadget: f_cdev: Avoid potential NULL pointer dereference"Linux Build Service Account2016-09-24
|\ \ \ \ \
| * | | | | usb: gadget: f_cdev: Avoid potential NULL pointer dereferenceMayank Rana2016-09-23
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix possible NULL pointer dereference issue as strrchr() API can return NULL if there is no port_num found as part of passed string. Change-Id: I410e58361282f175e46b68cbfaf4824e386454f8 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge "USB: gadget: f_fs: Use %zu when printing size_t"Linux Build Service Account2016-09-23
|\ \ \ \ \
| * | | | | USB: gadget: f_fs: Use %zu when printing size_tManu Gautam2016-09-22
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using %lu for size_t gives compilation error on 32bit system. Replace this with %zu which should be used to print size_t on both 32bit and 64bit machines. Change-Id: Id8a42dec3e081187054cb2353ba3473bae9dd547 CRs-fixed: 1069970 Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
* | | | | Merge "usb: gadget: gsi: Set NUM_OF_TRB as 15 for IN and OUT GSI endpoints"Linux Build Service Account2016-09-23
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | usb: gadget: gsi: Set NUM_OF_TRB as 15 for IN and OUT GSI endpointsMayank Rana2016-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is recommended to use NUM_OF_TRB greater than USB controller's TRB cache size. Currently USB controller's TRB cache size on GSI available platform is 12. TRB ring base address must be aligned to TRB ring length rounded to power of two. Hence set NUM_OF_TRB as 15 for both IN and OUT GSI endpoints. CRs-Fixed: 1067833 Change-Id: Iab8b0bc6fd17183fc6056f06a90421cde24987c8 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge "Revert "usb: gsi: Queue control notification on gsi_resume""Linux Build Service Account2016-09-17
|\ \ \ \ \
| * | | | | Revert "usb: gsi: Queue control notification on gsi_resume"Mayank Rana2016-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit <fae741edccb> ("usb: gsi: Queue control notification on gsi_resume") as expected notification is not queued resulting into mismatch of QMI transaction packet. CRs-Fixed: 1067006 Change-Id: I4abdd79699d47054e268978aae9199f1d5d1ddcb Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | | Merge "USB: f_accessory: Fix NULL pointer dereference in acc_read()"Linux Build Service Account2016-09-17
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | USB: f_accessory: Fix NULL pointer dereference in acc_read()Vijayavardhan Vennapusa2016-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If user tries to read /dev/usb_accessory node, it results in calling acc_read() callback. If accessory interface is not present in current USB composition, it will lead to crash as dev->ep_out is NULL. Fix the issue by moving problematic code down after device becomes online. Change-Id: I6441f6dc3cbe3a84a384fa3e8a6583f65a74659d Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | | | | | usb: gadget: gsi: Kick state machine with MESSAGE_PACKET_FILTER for RNDISMayank Rana2016-09-15
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit <5b42bd749e8c> ("usb: gadget: gsi: Optimize TRB's buffer allocation functionality") is kicking ipa_work_handler state machine as part of set_alt() for RNDIS function which results into giving max_xfer_size_bytes_to_host value as zero as RNDIS_INIT_MSG from host may not have received here. This results into low throughput due to device is sending more than accepted aggregated bytes as part of one USB transfer to host. Fix this issue by delaying RNDIS IPA initialization till MESSAGE_PACKET_FILTER is received from host which makes sure that proper aggregation parameters are passed to IPA driver to configure hardware accerlerated path. For non-rndis tethered interface, ipa_usb_notify_cb() posts EVT_CONNECTED to enable IPA GSI data path (i.e. calling ipa_data_path_enable() API). CRs-Fixed: 1065003 Change-Id: I4ce62745c82b4488cb1370248ab64951497493cd Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge branch 'tmp-bab1564' into msm-4.4Runmin Wang2016-09-12
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tmp-bab1564: ANDROID: mmc: Add CONFIG_MMC_SIMULATE_MAX_SPEED android: base-cfg: Add CONFIG_INET_DIAG_DESTROY cpufreq: interactive: only apply interactive boost when enabled cpufreq: interactive: fix policy locking ANDROID: dm verity fec: add sysfs attribute fec/corrected ANDROID: android: base-cfg: enable CONFIG_DM_VERITY_FEC UPSTREAM: dm verity: add ignore_zero_blocks feature UPSTREAM: dm verity: add support for forward error correction UPSTREAM: dm verity: factor out verity_for_bv_block() UPSTREAM: dm verity: factor out structures and functions useful to separate object UPSTREAM: dm verity: move dm-verity.c to dm-verity-target.c UPSTREAM: dm verity: separate function for parsing opt args UPSTREAM: dm verity: clean up duplicate hashing code UPSTREAM: dm: don't save and restore bi_private mm: Export do_munmap sdcardfs: remove unneeded __init and __exit sdcardfs: Remove unused code fs: Export d_absolute_path sdcardfs: remove effectless config option inotify: Fix erroneous update of bit count fs: sdcardfs: Declare LOOKUP_CASE_INSENSITIVE unconditionally trace: cpufreq: fix typo in min/max cpufreq sdcardfs: Add support for d_canonical_path vfs: add d_canonical_path for stacked filesystem support sdcardfs: Bring up to date with Android M permissions: Changed type-casting in packagelist management Port of sdcardfs to 4.4 Included sdcardfs source code for kernel 3.0 ANDROID: usb: gadget: Add support for MTP OS desc CHROMIUM: usb: gadget: f_accessory: add .raw_request callback CHROMIUM: usb: gadget: audio_source: add .free_func callback CHROMIUM: usb: gadget: f_mtp: fix usb_ss_ep_comp_descriptor CHROMIUM: usb: gadget: f_mtp: Add SuperSpeed support FROMLIST: mmc: block: fix ABI regression of mmc_blk_ioctl FROMLIST: mm: ASLR: use get_random_long() FROMLIST: drivers: char: random: add get_random_long() FROMLIST: pstore-ram: fix NULL reference when used with pdata usb: u_ether: Add missing rx_work init ANDROID: dm-crypt: run in a WQ_HIGHPRI workqueue misc: uid_stat: Include linux/atomic.h instead of asm/atomic.h hid-sensor-hub.c: fix wrong do_div() usage power: Provide dummy log_suspend_abort_reason() if SUSPEND is disabled PM / suspend: Add dependency on RTC_LIB drivers: power: use 'current' instead of 'get_current()' video: adf: Set ADF_MEMBLOCK to boolean video: adf: Fix modular build net: ppp: Fix modular build for PPPOLAC and PPPOPNS net: pppolac/pppopns: Replace msg.msg_iov with iov_iter_kvec() ANDROID: mmc: sdio: Disable retuning in sdio_reset_comm() ANDROID: mmc: Move tracepoint creation and export symbols ANDROID: kernel/watchdog: fix unused variable warning ANDROID: usb: gadget: f_mtp: don't use le16 for u8 field ANDROID: lowmemorykiller: fix declaration order warnings ANDROID: net: fix 'const' warnings net: diag: support v4mapped sockets in inet_diag_find_one_icsk() net: tcp: deal with listen sockets properly in tcp_abort. tcp: diag: add support for request sockets to tcp_abort() net: diag: Support destroying TCP sockets. net: diag: Support SOCK_DESTROY for inet sockets. net: diag: Add the ability to destroy a socket. net: diag: split inet_diag_dump_one_icsk into two Revert "mmc: Extend wakelock if bus is dead" Revert "mmc: core: Hold a wake lock accross delayed work + mmc rescan" ANDROID: mmc: move to a SCHED_FIFO thread Conflicts: drivers/cpufreq/cpufreq_interactive.c drivers/misc/uid_stat.c drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/card/queue.h drivers/mmc/core/core.c drivers/mmc/core/sdio.c drivers/staging/android/lowmemorykiller.c drivers/usb/gadget/function/f_mtp.c kernel/watchdog.c Signed-off-by: Runmin Wang <runminw@codeaurora.org> Change-Id: Ibb4db11c57395f67dee86211a110c462e6181552
| * | | | ANDROID: usb: gadget: Add support for MTP OS descBadhri Jagan Sridharan2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows requires OS specific descriptors for automatic install of drivers for MTP devices. https://msdn.microsoft.com/en-us/library/windows/ hardware/gg463179.aspx BUG=24583401 BUG=chrome-os-partner:43409 Change-Id: I9397072ca3d183efbc9571c6cde3790f10d8851e Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com> Reviewed-on: https://chromium-review.googlesource.com/304346 Commit-Ready: Andrew Bresticker <abrestic@chromium.org> Tested-by: Andrew Bresticker <abrestic@chromium.org> Reviewed-by: Andrew Bresticker <abrestic@chromium.org> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
| * | | | CHROMIUM: usb: gadget: f_accessory: add .raw_request callbackMark Kuo2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After this upstream commit: 3c86726cfe38952f0366f86acfbbb025813ec1c2, .raw_request is mandatory in hid_ll_driver structure, hence add an empty raw_request() function. BUG=chrome-os-partner:49140 TEST=none Change-Id: Idd0bbe6960aad2c557376e4a24827d7e1df8e023 Signed-off-by: Mark Kuo <mkuo@nvidia.com> Reviewed-on: https://chromium-review.googlesource.com/321038 Commit-Ready: Andrew Bresticker <abrestic@chromium.org> Tested-by: Andrew Bresticker <abrestic@chromium.org> Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
| * | | | CHROMIUM: usb: gadget: audio_source: add .free_func callbackMark Kuo2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When userspace unbinds gadget functions through configfs, the .free_func() callback is always invoked. (in config_usb_cfg_unlink()) Implement it as a no-op to avoid the following crash: [ 68.125679] configfs-gadget gadget: unbind function 'accessory'/ffffffc0720bf000 [ 68.133202] configfs-gadget gadget: unbind function 'audio_source'/ffffffc0012ca3c0 [ 68.142668] tegra-xudc 700d0000.usb-device: ep 0 disabled [ 68.148186] Bad mode in Synchronous Abort handler detected, code 0x86000006 [ 68.155144] CPU: 2 PID: 1 Comm: init Tainted: G U W 3.18.0-09419-g87296c3-dirty #561 [ 68.163743] Hardware name: Google Tegra210 Smaug Rev 1,3+ (DT) [ 68.169566] task: ffffffc0bc8d0000 ti: ffffffc0bc8bc000 task.ti: ffffffc0bc8bc000 [ 68.177039] PC is at 0x0 [ 68.179577] LR is at usb_put_function+0x14/0x1c .... BUG=chrome-os-partner:49140 TEST="setprop sys.usb.config accessory,audio_source" on A44 and then switch back to default: "setprop sys.usb.config mtp,adb", no crash will be seen. Change-Id: I5b6141964aab861e86e3afb139ded02d4d122dab Signed-off-by: Mark Kuo <mkuo@nvidia.com> Reviewed-on: https://chromium-review.googlesource.com/321013 Commit-Ready: Andrew Bresticker <abrestic@chromium.org> Tested-by: Andrew Bresticker <abrestic@chromium.org> Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
| * | | | CHROMIUM: usb: gadget: f_mtp: fix usb_ss_ep_comp_descriptorMark Kuo2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wBytesPerInterval in SuperSpeed Endpoint Companion Descriptor needs to be set large enough to reserve enough bus time for associated periodic endpoint. Originally, wBytesPerInterval for mtp's interrupt IN endpoint is set to 2 and its single interrupt transfer will be split into many 2 bytes interrupt transfers. So, we change wBytesPerInterval to INTR_BUFFER_SIZE to ensure interrupt transfer will not be split. BUG=none TEST=Smaug works as a MTP device Change-Id: I49c0df892b2d9e0193a684eef23f73664ced9f91 Signed-off-by: Henry Lin <henryl@nvidia.com> Signed-off-by: Mark Kuo <mkuo@nvidia.com> Reviewed-on: https://chromium-review.googlesource.com/299091 Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
| * | | | CHROMIUM: usb: gadget: f_mtp: Add SuperSpeed supportMark Kuo2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SuperSpeed endpoint and companion descriptors. BUG=chrome-os-partner:43682 TEST=Smaug enumerates as a SuperSpeed device. Change-Id: I2bf3125d180fcb07222a5740fa67f3526cf3e95c Signed-off-by: Hui Fu <hfu@nvidia.com> Signed-off-by: Henry Lin <henryl@nvidia.com> Signed-off-by: Mark Kuo <mkuo@nvidia.com> Signed-off-by: Andrew Bresticker <abrestic@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/294950
| * | | | usb: u_ether: Add missing rx_work initMatthew Moeller2016-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 398a708ed5f3ef771d96dfb9b95b5d5170d17eb7 usb: u_ether: Add workqueue as bottom half handler for rx data path set up a worker for the rx data path but missed a case where the work_struct needed to be initialized. This patch adds the missing 'INIT_WORK' Change-Id: I2daabd39d35b3e17a3054837282d649d9c78a0aa Signed-off-by: Matthew Moeller <moeller.matt@gmail.com>
| * | | | ANDROID: usb: gadget: f_mtp: don't use le16 for u8 fieldBrian Norris2016-04-07
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'bCount' field is u8. Noticed by this warning: drivers/usb/gadget/function/f_mtp.c:264:3: warning: large integer implicitly truncated to unsigned type [-Woverflow] Change-Id: Ie82dfd1a8986ecd3acf143e41c46822f0d1aca4f Signed-off-by: Brian Norris <briannorris@google.com>
* | | | Merge "usb: gadget: u_ether: Add missing rx work initialization"Linux Build Service Account2016-09-10
|\ \ \ \
| * | | | usb: gadget: u_ether: Add missing rx work initializationVamsi Krishna Samavedam2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix data RX data stall by adding missing work initialization in gadget ether setup function CRs-Fixed: 1059091 Change-Id: I334c1d17b7b63baeb7a36cc26e513b28b106002b Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
* | | | | Merge "usb: gadget: gsi: Fix handling of MSG PACKET FILTER"Linux Build Service Account2016-09-08
|\ \ \ \ \
| * | | | | usb: gadget: gsi: Fix handling of MSG PACKET FILTERMayank Rana2016-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When USB RNDIS network device is bridged with other network device on windows host machine, it has been observed that many MSG PACKET FILTER packet with zero and non-zero value are send from host to device. USB GSI state machine handles those and results into case where TRB buffer's address is updated wrongly causing bus error with IPA GSI. Fix this issue as below: - Move MSG PACKET FILTER handling as part of ipa_work_handler() - Add blocking USB3 ringing doorbell on receiving MSG PACKET FILTER with non-zero value. - Before processing HOST_NRDY event, see already posted event. If it is HOST_READY event, then ignore HOST_NRDY and HOST_READY to avoid performing operations related to HOST_NRDY and HOST_READY again. CRs-Fixed: 1059577 Change-Id: I3ac8f740d7b84212da1d799b563a6e8ef1c9b493 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | | Merge "usb: gsi: Queue control notification on gsi_resume"Linux Build Service Account2016-09-07
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | |
| * | | | | usb: gsi: Queue control notification on gsi_resumeMayank Rana2016-08-29
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is delay seen in queueing notification when response is available after performing function remote wakeup. This change queues control notification from gsi_resume() for RMNET/MBIM and ECM case when notify_count is 1 (i.e. remote wakeup is performed but notify request is not queued.) to make sure that host is notified before it timeouts for response and starts data transfer. CRs-Fixed: 1033093 Change-Id: Ic55667df93c8bd51df06b48709bc420c082fbcf5 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | Merge "USB: f_accessory: Fix crash if driver failed to initialize"Linux Build Service Account2016-09-02
|\ \ \ \ \
| * | | | | USB: f_accessory: Fix crash if driver failed to initializeManu Gautam2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If accessory driver setup fails then _acc_dev points to freed memory and later drivers crashes on disconnect due to invalid memory access. Mark _acc_dev only if acc_setup is successful to prevent the crash. Change-Id: Ica933a7cf710ff082c54db77f94f802b6832bedb Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
* | | | | | Merge "USB: f_accessory: set manufacturer and model string to default value"Linux Build Service Account2016-09-02
|\| | | | | | |_|/ / / |/| | | |
| * | | | USB: f_accessory: set manufacturer and model string to default valueVijayavardhan Vennapusa2016-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently USB driver is resetting strings like manufacturer, model to zero as part of handling control request for protocol version. Some accessory docks may not send manufacturer and model strings before sending control request to enable audiosource USB composition. This results in userspace enabling audio source composition without accessory interface. If accessory dock is connected during bootup, accessory timeouts in configuring android device and results in detection failure. Userspace does have recovery mechanism if incase accessory dock timeouts to configure android device in accessory composition. Hence set manufacturer and model strings to default value so that userspace enables accessory + audiosource composition for userspace recovery to be working and detecting accessory dock successfully during bootup. Change-Id: Ibe4dd9d951a9615ae100e68dc15b3614e9834848 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
| * | | | usb: gadget: f_accessory: Make RX buffer size aligned to EP's MTUHemant Kumar2016-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Synopsys USB3 Controller (DWC3) has a restriction where size of OUT requests (TRB) queued to the controller must be aligned with the endpoint's max packet size. Generally, accessory userspace module submits RX requests not aligned to endpoint's max packet size. Hence to overcome this, align the size of RX request buffer to endpoint's max packet while submitting to DCD as the buffers are already allocated with the size of 16KB. Change-Id: I3acdfc055d0c6a79a0aa65a715bae06dc475d078 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | | | | Merge "Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into ↵Linux Build Service Account2016-08-29
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | msm-4.4""
| * | | | | Revert "Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4"Trilok Soni2016-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d6fd2c3e9fcfb ("Merge remote-tracking branch 'msm-4.4/tmp-510d0a3f' into msm-4.4"), because it breaks the dump parsing tools due to kernel can be loaded anywhere in the memory now and not fixed at linear mapping. Change-Id: Id416f0a249d803442847d09ac47781147b0d0ee6 Signed-off-by: Trilok Soni <tsoni@codeaurora.org>