summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
AgeCommit message (Collapse)Author
2017-09-20tegra_udc.c: fix compilation with gcc 7Max Krummenacher
With gcc 7 the following compile time error occurs: | .../drivers/usb/gadget/tegra_udc.c:2565:17: error: 'out' directive writing 3 bytes into a region of size between 2 and 11 [-Werror=format-overflow=] | sprintf(name, "ep%dout", i); | ^~~~~~~~~ | .../drivers/usb/gadget/tegra_udc.c:2565:3: note: 'sprintf' output between 7 and 16 bytes into a destination of size 14 | sprintf(name, "ep%dout", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ The last end point will never be greater than 32 but the compiler can not find this out from the code. Work around this by passing a format specifier to interpreat i as a signed char. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-10-14usb: gadget: composite: Fix cdev null after rmmodPeter Chiang
Avoid to disconnect gadget again after unbinding bug 200141741 Change-Id: I6fadcb4c5b5262d861a865f24ba2d8666e126923 Signed-off-by: Peter Chiang <pchiang@nvidia.com> Reviewed-on: http://git-master/r/805175 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Hui Fu <hfu@nvidia.com> Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
2014-08-12usb: gadget: mtp : Handle ioctl MTP_SEND_EVENT_32Rohith Seelaboyina
MTP_SEND_EVENT_32 is defined for 64bit kernel. This changes properly fixes handling of 32-64 bit ioctl call for mtp_send_event. Bug 200016543 Change-Id: Ife559ecb31d10fdfe17d34c8a132cbaf04b09082 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/450869 (cherry picked from commit baf0ecf975bafbe3031b81e3c1899e011c8e0a21) Reviewed-on: http://git-master/r/454868 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-07-10usb: gadget: tegra: handle the case when host rebootsRakesh Bodla
Some hosts during booting first supply vbus and then send setup packets after x seconds. In this case we detect as non-standard. Handle this case by setting to SDP. Also adding condition to avoid unnecessary icon notifications. Bug 200017121 Change-Id: I1f0d9a2e2725a0cd3a4324f5208764ee2e4978cf Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/433179 (cherry picked from commit 1073c32cebc1314e4d3be7967d707a743ded05ea) Reviewed-on: http://git-master/r/436033 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
2014-06-23USB: gadget: f_audio_source: change packet size to 256Ravindra Lokhande
Bug 1327528 Change-Id: Idc243389486ab9121826787ae85475458fa18506 Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-on: http://git-master/r/351034 (cherry picked from commit 038389830a31bb00dc4851922e08caa617af8a80) Reviewed-on: http://git-master/r/426590 GVS: Gerrit_Virtual_Submit Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
2014-06-23usb: free up composite gadget string ids on unbindRakesh Bodla
There are only 254 USB composite gadget string_ids available. When switching gadget mode such as mtp and acm repeatedly, they will be exhausted. This bug has been brought up since android composite driver introduced a way to switch gadget modes while the composite driver is still holding its bind. Fix this by reset next_string_id and clean up gstrings when android gadgets are disabled. Also by removing the condition comparing gadgets' string id to 0 because gadget string id has to be re-assigned whenever the string count is reset. The codes removed the condition check will work as the same as before they have changed if the gadgets are used by other composite drivers other than android since all of them call bind only once and never unbind it hence no side effects considered. Ported from https://android-review.googlesource.com/#/c/95366/ Bug 200001941 Change-Id: I1e2fbe0f59fe05b89052db62e0b61b074d8f032b Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/425165 (cherry picked from commit fc71534a90787bd763b7bd0f7c698b76b66ad251) Reviewed-on: http://git-master/r/419340 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-06-18usb: gadget: tegra: reset extcon state in cable disconnectRakesh Bodla
For QC2.0 charger we set two cable types. Resetting the extcon state during cable disconnect so that all the cables types are cleared. Bug 200011709 Change-Id: I3e5bf896869045f5eefb68723411abbc864ae76d Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/422715 (cherry picked from commit b546521e81a106c1aea35d3198fc135b67e64913) Reviewed-on: http://git-master/r/423473 GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-06-05Merge branch 'linux-3.10.40' into rel-21Ishan Mittal
Bug 200004122 Conflicts: drivers/cpufreq/cpufreq.c drivers/regulator/core.c sound/soc/codecs/max98090.c Change-Id: I9418a05ad5c56b2e902249218bac2fa594d99f56 Signed-off-by: Ishan Mittal <imittal@nvidia.com>
2014-06-04usb: gadget: tegra: fix usb cable extcon updateRakesh Bodla
USB cable status now properly updated to extcon framework, with which charging icon will be updated properly. Bug 1458999 Bug 200002489 Bug 1503711 Change-Id: If509e05e1b0ffd6e1fb34e58b9c01b7345751653 Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/412019 (cherry picked from commit 7c1a5e47f5ab792d9d722db32b5c60fc2957c8d9) Reviewed-on: http://git-master/r/417469 Reviewed-by: Mrutyunjay Sawant <msawant@nvidia.com> Tested-by: Mrutyunjay Sawant <msawant@nvidia.com>
2014-06-03usb: gadget: android: Maxim 14675 driver supportPhilip Rakity
add USB string to signal 12V max - 5V min charging bug 1321188 bug 1456402 (cherry picked from commit 43c6f013e6a7cc09c83d66956715386d2ff659e7) Change-Id: Ia13575a9da8f206b0b578c86854b9284b3a7f777 Reviewed-on: http://git-master/r/400492 Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/417037 GVS: Gerrit_Virtual_Submit Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-06-03usb: gadget: tegra: Maxim 14675 driver supportPhilip Rakity
Support Maxim 14765 detection bug 1321188 bug 1456402 (cherry picked from commit a3bdc86bf2a5192d55a26375a9480f415ab9c7dd) Change-Id: I8802b4f35493c99f770f68bef797177268eb6300 Reviewed-on: http://git-master/r/400491 Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/417036 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-05-29Merge commit 'refs/changes/16/411516/5' of ssh://git-master:12001/linux-3.10 ↵Mandar padmawar
into promotion_build
2014-05-29Merge branch 'android-3.10' into rel-21Ishan Mittal
Bug 200004122 Bug 1511804 This merge takes AOSP commits from android-3.10 branch Change-Id: I07ec2468114db0366d63777142c9572bbfadbc45 Signed-off-by: Ishan Mittal <imittal@nvidia.com>
2014-05-19usb: gadget: tegra: Reset charger connect_typeRohith Seelaboyina
To update the charging icon quickly, initially connect_type is set to NON_STD and then QC2/DCP eventually. Because of this extcon is getting notified twice and to prevent this we need to reset the connect_type to none. Bug 200002489 Change-Id: I083e446288c7e3b540f3c721684b2b6d8353de1f Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/406438 (cherry picked from commit 52ef1336fdf8e5aa3c7c4062c960fd1d1e766038) Reviewed-on: http://git-master/r/409577 Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com> Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
2014-05-19usb: gadget: tegra: Update extcon state properlyRohith Seelaboyina
If USB cable is disconnected when the device is in LP0, after resuming current limit is set to 0 and accordingly extcon state must be updated with which charger icon also gets updated. Bug 1502977 Change-Id: I171df607d3190191cf821a5b03f93d52cfa25e93 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/406423 (cherry picked from commit 370c32eae5d11419bb48f6ce2f6d8a37a7d7b8b6) Reviewed-on: http://git-master/r/409576 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-05-14usb: gadget: add compat_ioctl handlerRakesh Bodla
Add compat_ioctl for accessory and fs to work on 64 bit platforms. Bug 1505458 Change-Id: Ic5fa65451fa6428d50de2307136a59b13bd691cb Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/408014 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-05-12usb: gadget: tegra:cancel non-standard charger workRakesh Bodla
When there is series of gadget_connect and gadget_disconnect calls, non standard charger detection work is getting sheduled. This is being executed due to there is no time window observed to see setup packet.Fixing this by canceling the work appropriately. Bug 1477692 Change-Id: I3460675c0ccbd251e3c3be217792d5a2fd44f85d Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/406351 GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-05-06usb: gadget: zero: Fix SuperSpeed enumeration for alternate setting 1Roger Quadros
commit 9c1b70361e0b38e4acb8e62b54da66538cb77ff2 upstream. It was impossible to enumerate on a SuperSpeed (XHCI) host with alternate setting = 1 due to the wrongly set 'bMaxBurst' field in the SuperSpeed Endpoint Companion descriptor. Testcase: <host> modprobe -r usbtest; modprobe usbtest alt=1 <device> modprobe g_zero plug device to SuperSpeed port on the host. Without this patch the host always complains like so "usb 12-2: Not enough bandwidth for new device state. usb 12-2: Not enough bandwidth for altsetting 1" Bug was introduced by commit cf9a08ae in v3.9 Fixes: cf9a08ae5aec (usb: gadget: convert source sink and loopback to new function interface) Reviewed-by: Felipe Balbi <balbi@ti.com> Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-06usb: gadget: tcm_usb_gadget: stop format stringsKees Cook
commit aba37fd975f0dd58e025c99c2a79b61b20190831 upstream. This makes sure that the name coming out of configfs cannot be used accidentally as a format string. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-28usb: gadget: tegra:fix delay in charging icon in UIPhilip Rakity
Moving CDP charger detection to early phase and also setting charger current to Non-standard before QC2.0 charger detection to fix delay in charging icon in UI. Bug 1424733 Bug 1458999 (cherry picked from commit 4f0e5756869074d27d808eab2225459c6daec5fb) (cherry picked from commit 57b2e6af46175c3f8992bc29e7ec1a778f9002f1) Change-Id: I0db19bf633b0d76d687d64e5599ccf41ef469876 Reviewed-on: http://git-master/r/384598 Reviewed-on: http://git-master/r/396042 Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/401889 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2014-04-28usb: gadget: tegra: check ep->desc before calling ep_indexKerwin Wan
tegra_ep_disable will set ep->desc to be NULL. So in tegra_ep_dequeue, ep->desc needs to be checked before calling ep_index or kernel panic may happen due to NULL pointer. Bug 1506083 Change-Id: I24390d863d3e31cb02a8e53015e1d0137f18487a Signed-off-by: Kerwin Wan <kerwinw@nvidia.com> Reviewed-on: http://git-master/r/400828 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
2014-04-23usb: gadget: tegra: handle y cable properlyRakesh Bodla
For Y cable vbus will be present so gadget driver thinks it as normal cable. Adding condition to distinguish between Y and device cable. Here, if transceiver is present, turning ON phy will be decided by OTG driver. Bug 1490687 Change-Id: Ic1d7667fb28d5a9211f88af585f40316dc126148 Reviewed-on: http://git-master/r/393430 (cherry picked from commit 246c68ae1f415d7d900c9b8507fb99282fdce8d9) Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/395712 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-04-13usb: gadget: keep udc alive on non-std charger detPetlozu Pravareshwar
The non-std charger could also be a self-powered hub(which is not yet connected to any host). If we stop controller here, tegra can't detect the host through this self-powered hub. Bug 1458990 Change-Id: Ifd4aeae65304acf724098b452899dd5c5a8aac62 Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com> Reviewed-on: http://git-master/r/395217 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-03-17usb: gadget: mtp: add new ioctl for compatRohith Seelaboyina
Define a new ioctl for MTP_SEND_EVENT, as its ioctl numbers depends on the size of struct mtp_event, which varies in ARCH32 and ARCH64. Bug 1466403 Change-Id: I1d172aae422ca483b00c6dd59e739166f40c53ce Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/377800 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-03-13Merge branch 'linux-3.10.33' into dev-kernel-3.10Deepak Nibade
Bug 1456092 Change-Id: Ic563f451abb08754fea0e2bbf0ce065ca2e6e770 Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
2014-03-13Merge branch 'linux-3.10.33' into dev-kernel-3.10Deepak Nibade
Bug 1456092 Change-Id: I3021247ec68a3c2dddd9e98cde13d70a45191d53 Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
2014-03-11drivers: gadget: tegra: support to skip chargingHaribabu Narayanan
Currently charging_support flag is left unimplemented in the UDC driver and it is assumed that all platforms need/support charging. Add support to make this optional so that platforms can choose to skip charger port detection and assume instead that it is always connected to only SDP ports. Bug 1463801 Change-Id: I89b27e9a8d5af4d29af0609bfc5faa643d2d990c Signed-off-by: Haribabu Narayanan <hnarayanan@nvidia.com> Reviewed-on: http://git-master/r/378732 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-03-11usb: u_ether: merged rndis throughput optimizationDavid Pu
with below changes, RNDIS Downlink throughput will be boosted to 190Mbps so it won't be a bottleneck for LTE modem throughput testing. Bug 1413084 Bug 1353915 Bug 1248596 following patches are merged: ---------------------------------- usb: u_ether: Add workqueue as bottom half handler for rx data path u_ether driver passes rx data to network layer and resubmits the request back to usb hardware in interrupt context. Network layer processes rx data by scheduling tasklet. For high throughput scenarios on rx data path driver is spending lot of time in interrupt context due to rx data processing by tasklet and continuous completion and re-submission of the usb requests which results in watchdog bark. Hence move the rx data processing and usb request submission to a workqueue bottom half handler. CRs-Fixed: 382768 Change-Id: I4788b3d67f7aeeb005655c16b313653e939da79c Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> Signed-off-by: David Pu <dpu@nvidia.com> USB: gadget: u_ether: Fix data stall issue in RNDIS tethering mode For dual speed gadget, with current no. of request(10), there is possibility of corner case occurence where all 10 reuqests are queued to HW without setting IOC bit, which could lead to data stall in RNDIS tethering and RNDIS local networking. With this patch, counter will be incremented before queueing request to HW and sets IOC bit for every nth request due to which the corner case of all requests queued to HW without IOC bit set will be avoided. CRs-Fixed: 340995 Change-Id: I95a252e6f54650fa8c1f263ab820caf5acd949a5 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: David Pu <dpu@nvidia.com> Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Conflicts: drivers/usb/gadget/u_ether.c RNDIS: Add Data aggregation (multi packet) support Add data aggregation support using RNDIS Multi Packet feature to achieve better UDP Downlink throughput. Max 3 RNDIS Packets aggregated into one RNDIS Packet with this implementation. With this change, seeing UDP Downlink throughput increase from 90 Mbps to above 100 Mbps when using Iperf and sending data more than 100 Mbps. CRs-Fixed: 352010 Change-Id: I7c353d21d60002b66c08181fd621f9ab8753cb0f Signed-off-by: Mayank Rana <mrana@codeaurora.org> Signed-off-by: Rajkumar Raghupathy <raghup@codeaurora.org> Signed-off-by: David Pu <dpu@nvidia.com> Rndis: Add debug support to disable RNDIS Multipacket Feature This change adds module param which allows to disable RNDIS Multi-packet Feature (Aggregation support in Downlink path) as this feature is enabled by default. To disable use this param before moving to RNDIS Composition: echo 1 > /sys/module/g_android/parameters/rndis_multipacket_dl_disable Also counts errors as Rx errors if received RNDIS packets are not following RNDIS message format as those packets are being discarded. Change-Id: I2c99409f689c131cf92c4967235643d001d90773 Signed-off-by: Mayank Rana <mrana@codeaurora.org> (cherry picked from commit 93df275e337ee68a5561bcf3c8eafdc35d455b81) Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org> Signed-off-by: David Pu <dpu@nvidia.com> usb: rndis: fix compile error Change-Id: I3f36a6a0c0a1d733dd09a1196bbff6e1771abf7a Signed-off-by: David Pu <dpu@nvidia.com> usb: gadget: rndis: Fix re-binding f_rndis f_rndis checks if rndis_string_defs[0].id is null to setup rndis and allocate string ids when it is bound to the first configuration: /* maybe allocate device-global string IDs */ if (rndis_string_defs[0].id == 0) { /* ... and setup RNDIS itself */ status = rndis_init(); if (status < 0) return status; rndis_string_defs[0].id must be reset to 0 on unbind for rndis to be correctly initialized on the next composite_bind. Signed-off-by: Benoit Goby <benoit@android.com> Signed-off-by: David Pu <dpu@nvidia.com> usb: gadget: Fix g_ether interface link status A "usb0" interface that has never been connected to a host has an unknown operstate, and therefore the IFF_RUNNING flag is (incorrectly) asserted when queried by ifconfig, ifplugd, etc. This is a result of calling netif_carrier_off() too early in the probe function; it should be called after register_netdev(). Similar problems have been fixed in many other drivers, e.g.: e826eafa6 (bonding: Call netif_carrier_off after register_netdevice) 0d672e9f8 (drivers/net: Call netif_carrier_off at the end of the probe) 6a3c869a6 (cxgb4: fix reported state of interfaces without link) Fix is to move netif_carrier_off() to the end of the function. Cc: stable@vger.kernel.org Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: David Pu <dpu@nvidia.com> usb: gadget: prevent change of Host MAC address of 'usb0' interface On windows 7 platform, previously allocated ip address is maintained. However, Host MAC address of 'usb0' interface is changed when the tethering driver re-enumerated. Thus, the tethering network driver can't be allocated ip address from dhcp. It causes connection delay between host and phone for usb tethering. This patch prevents from changing Host MAC address of 'usb0' interface. In other words, this patch maintains the Host MAC address allocated when first tethering driver although the driver is re-enumerated. However, after reboot, the Host MAC address can be changed. Change-Id: Iad4ece86d16ea596402fbf0dfddeb66a25af297f Signed-off-by: David Pu <dpu@nvidia.com> Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/346366 (cherry picked from commit 42569ecab053332b183bf28054d942565f060889) Reviewed-on: http://git-master/r/351168 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-03-10Merge branch 'android-3.10' into dev-kernel-3.10Deepak Nibade
Bug 1456092 Change-Id: I87b6b883c382000fc0dfee7c8d8f36269f504e46 Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
2014-03-06usb: gadget: bcm63xx_udc: fix build failure on DMA channel codeFlorian Fainelli
commit 2d1f7af3d60dd09794e0738a915d272c6c27abc5 upstream. Commit 3dc6475 ("bcm63xx_enet: add support Broadcom BCM6345 Ethernet") changed the ENETDMA[CS] macros such that they are no longer macros, but actual register offset definitions. The bcm63xx_udc driver was not updated, and as a result, causes the following build error to pop up: CC drivers/usb/gadget/u_ether.o drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_write': drivers/usb/gadget/bcm63xx_udc.c:642:24: error: called object '0' is not a function drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_reset_channel': drivers/usb/gadget/bcm63xx_udc.c:698:46: error: called object '0' is not a function drivers/usb/gadget/bcm63xx_udc.c:700:49: error: called object '0' is not a function Fix this by updating usb_dmac_{read,write}l and usb_dmas_{read,write}l to take an extra channel argument, and use the channel width (ENETDMA_CHAN_WIDTH) to offset the register we want to access, hence doing again what the macro implicitely did for us. Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-25drivers: usb: gadget: 64-bit related type fixesGreg Hackmann
Change-Id: I2f9b12e1e0cdfe64ffe20db78d319a6221821184 Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-02-16usb: gadget: mtp: add compat_ioctlRohith Seelaboyina
Add compat_ioctl for mtp to work on 64 bit platforms. Bug 1432018 Change-Id: I27f7a56e8c34192fc524727d637fe6cea5c5020b Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/366258 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-02-13fix false disconnect due to a signal sent to the reading processkeunyoung
- In the current implementation, when a signal is sent to the reading process, read is cancelled by calling usb_ep_dequeue, which lead into calling acc_complete_out with ECONNRESET, but the current logic treats it as disconnection, which makes the device inaccessible until cable is actually disconnected. - The fix calls disconnect only when ESHUTDOWN error is passed. - If data has already arrived while trying cancelling, the data is marked as available, and it will be read out on the next read. This is necessary as USB bulk is assumed to guarantee no data loss. Signed-off-by: keunyoung <keunyoung@google.com>
2014-02-13usb: gadget: tegra: Add support for QC2 chargerPhilip Rakity
Adding the support to handle QC2 charger and enable charging at high current. Bug 1424733 Change-Id: I2e9506f95c4a75470f50aa71f2b71ffbcb5642d0 Reviewed-on: http://git-master/r/361519 (cherry picked from commit 9f74b3d589565906a1a0a2f3ea55f35ea7732e4b) Signed-off-by: Philip Rakity <prakity@nvidia.com> Reviewed-on: http://git-master/r/363212 Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
2014-02-09usb: gadget: tegra: check ep->desc before accessRohith Seelaboyina
This changes adds condition to check ep->desc before accessing its contents. ep->desc seems to get Null on releasing the spin_lock. Bug 1401730 Change-Id: I48b4c880ced0cd131bd45840839e6635fc1a219c Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/362366 (cherry picked from commit 4c18848a52973987a691a871c127e54d697c60dc) Reviewed-on: http://git-master/r/362368 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-01-21usb: gadget: tegra: Fix 64-bit errorAlex Van Brunt
Pointers cannot be cast directly to a 32-bit integer they must be cast to a uintptr_t first. Also, remove a header that doesn't exist on arm64. Bug 1423809 Change-Id: Ib57ff74db6232a0339acfd210f9be821b4bc5343 Signed-off-by: Alex Van Brunt <avanbrunt@nvidia.com> Reviewed-on: http://git-master/r/346062 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com> Tested-by: Rohith Seelaboyina <rseelaboyina@nvidia.com>
2014-01-13usb: tegra: wake enable at suspendSuresh Mangipudi
enable_irq_wake call moved from probe function to suspend. Resume function has disable_irq_wake call Bug 992448 Change-Id: I7612887dd8db274a1994eb0ca1713becba69eca8 Signed-off-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-on: http://git-master/r/354182 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2014-01-12usb: gadget: tegra: Update extcon state properlyRohith Seelaboyina
Update extcon state only when cable is removed/connected physically. This change removes the extra notifications to extcon notified even though cable is connected. Bug 1415580 Change-Id: I0647762b1abf95e2cd34264239d756f07da7a239 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/353067 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-30Merge branch 'remotes/android/android-3.10' into dev-kernel-3.10Bharat Nihalani
Change-Id: I0c919e55654e0c224a5f8a5df80d9f49e92dbb37
2013-12-20usb: gadget: composite: reset delayed_status on reset_configMichael Grzeschik
commit 2bac51a1827a18821150ed8c9f9752c02f9c2b02 upstream. The delayed_status value is used to keep track of status response packets on ep0. It needs to be reset or the set_config function would still delay the answer, if the usb device got unplugged while waiting for setup_continue to be called. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-20usb: gadget: tegra: Fix kernel crash during rmmodPreetham Chandru R
during rmmod tegra_udc_stop will be called with driver = NULL option. This patch makes sure that the driver is dereferenced only if it has a valid pointer. Bug 1396682 Change-Id: Ie08dba86149e97965c654c8da42b867d6c411e29 Signed-off-by: Preetham Chandru R <pchandru@nvidia.com> Reviewed-on: http://git-master/r/346064 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-18usb: gadget: tegra: Support charging in LP0Rohith Seelaboyina
Add Support to allow device to charge in LP0 when vbus detection happens through pmic. Bug 1406615 Change-Id: I2df45587c8d610746ca054439b71878d5391aae7 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/344709 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-16Revert "usb: gadget: tegra: remove extra spin_unlock/lock"Rohith Seelaboyina
This reverts commit ba241f585e66f0b408e91d8baa51db7afd660d11. Change-Id: Ieaff323ba984e3427150ff801ad462fe813b0d99 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Change-Id: Ic1206760dbb57ff46bebbd695e6e0e82fa8d5ee4 Reviewed-on: http://git-master/r/344720 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-11Revert "usb: gadget: tegra: Support charging in LP0"Rohith Seelaboyina
This reverts commit 5ac8c4014b65372fa1c43a6dcf5d9fb0920d7f6f. Change-Id: I4388ad5ed7b8230ead1e235dcb24dc2f4bef2669 Reviewed-on: http://git-master/r/344577 Reviewed-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Tested-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-by: Rama Kandhala <rkandhala@nvidia.com>
2013-12-11usb: gadget: tegra: Support charging in LP0Rohith Seelaboyina
Add Support to allow device to charge in LP0 when vbus detection happens through pmic. Bug 1406615 Change-Id: I1dca65650dd364204d4bd30bc8debda62965b29e Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/339738 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> GVS: Gerrit_Virtual_Submit
2013-12-11usb: gadget: android: fix ethaddr override issueYunfan Zhang
ethaddr is one byte per segment, if pass the casted char pointer to sscanf with %02x, the upper mem/bytes will be override unexpectedly. For 32 bits alignment, the first byte of vendorID will be override by sscanf(..., "...:%02x", ..., (int *)&rndis->ethaddr[5]). struct rndis_function_config { u8 ethaddr[6]; u32 vendorID; ... }; Change-Id: I6553036f6d110e77298cfcf8a4e35f348921851d Signed-off-by: Yunfan Zhang <yunfanz@nvidia.com> Reviewed-on: http://git-master/r/337184 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-09usb: gadget: tegra: only set current limit when vbus_reg existsKerwin Wan
Bug 1421446 Change-Id: Ie4b35d633af234ab751110a141c6a2c2ea70dfce Signed-off-by: Kerwin Wan <kerwinw@nvidia.com> Reviewed-on: http://git-master/r/339782 Reviewed-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-by: Rakesh Babu Bodla <rbodla@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-09usb: gadget: tegra: remove unnecessary spaces/tabsRakesh Bodla
Removing the unnecessary sapces/tabs from the driver description. Bug 1409227 Change-Id: I1c35d00f9fd9915bbae127f145382d5892c1747d Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/339778 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-09usb: gadget: Tegra: 100mA charge current for EL_9Rakesh Bodla
It limits the charge current to < 100mA so that EL_9 test (Test_J, Test_K and TEST_SE0_NAK) can pass the +- 10mV spec. Bug 1401531 Change-Id: I32b5083dcd04501eee845fee8662fef9959c2513 Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/333261 (cherry picked from commit bfd4683b7bd162ed51fbed4925b09b288796c6fa) Reviewed-on: http://git-master/r/336126 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2013-12-09usb: gadget: udc: modify charger detection messagesRakesh Bodla
Old NV charger and apple 2A charger construction is same. So old nv charger passes 2A charger detection. Modifying the print messages accordingly. Bug 1414783 Change-Id: Ief55812cd6be691ec21a9e236bc4af33bf5f90fd Signed-off-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/339029 Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>