{"push_id":909873390,"size":304,"distinct_size":304,"ref":"refs/heads/cm-13.0","head":"84490dceaa2ffb86e5a7523f1fc301c3040b8f33","before":"3d903b22fd5c13b9eec98d9d601121e8dde6b8ab","commits":[{"sha":"0503a6bddf74ad9373d6c9cf406e4340e0155a73","author":{"email":"51907cac86db5f2ed57a4ac58c042ecc27c0b352@codeaurora.org","name":"Manu Gautam"},"message":"usb: dwc3: Improve erratic errors events handling\n\nIn rare cases if the controller is unable to communicate with the\nPHY it will trigger an ERRATIC ERROR event, upon which it is\nrecommended that the controller be reset. Currently the reset\nis scheduled to be performed in a workqueue, which relinquishes\nthe dwc3_interrupt handler to continue to process the event buffer.\nMeanwhile if the reset runs concurrently, it would disable the core\nclock resulting in unclocked I/O access if the gadget interrupt handler\ncontinues to run. Fix this by bailing out from ISR and prevent further\ninterrupts from reading DWC3 registers until the reset sequence has\ncompleted.\nAs sometimes after receiving erratic event controller is generating\ninterrupt storm even if driver acknowledges events generated after erratic\nevents. This continues until block reset happens from wq and may result in\nwatchdog bark. To prevent this assert core soft reset and wait until\nerratic event recovery is performed which brings the core out of reset for\nnormal operation.\nThe current handling of erratic errors that occur in peripheral\nmode does so by scheduling a block reset. Since this occurs\nasynchronously, additional changes needed to be made to ensure\nthe device controller would not generate spurious events or\ntry to access any registers while the reset was in progress\nand the clocks were off. Even after that, the controller would\nstill not be functional until a cable reconnect since the block\nreset routine did not do anything to re-establish the peripheral\nsession.\n\nInstead, improve the erratic error handling to simulate a\ncable disconnection-reconnection sequence. The forced disconnect\nshould solve issues related to post-error events as well as\nprevent any function drivers from continuing to issue endpoint\ncommands. This is followed with the controller entering low\npower mode. If the cable is still physically connected, then\ninvoke a reconnection which does the full reset and power-on\ninitialization sequence that is more complete than the current\nblock reset. The USB session would then get re-enumerated.\n\nChange-Id: I45ccb30ff12064e5410d45c423a404d97b299022\nSigned-off-by: Jack Pham <jackp@codeaurora.org>\nSigned-off-by: Hemant Kumar <hemantk@codeaurora.org>\nSigned-off-by: Azhar Shaikh<azhars@codeaurora.org>\nSigned-off-by: Manu Gautam <mgautam@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/0503a6bddf74ad9373d6c9cf406e4340e0155a73"},{"sha":"5dc31e68497c55f65727b55384660fb1b4490d05","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Increase the bulk message timeout\n\nThe card is taking more than 500 msec to respond to some commands.\nIncrease the timeout to 1 sec.\n\nChange-Id: I8ecfec6fa6e7465f6c51dcf0db899f576ae45298\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/5dc31e68497c55f65727b55384660fb1b4490d05"},{"sha":"cc193f3f4a01d98da6963901f431c7c170c8e1a4","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Drop the usb device reference upon disconnect\n\nusb device ref count is incremented in probe via usb_get_dev. Call\nusb_put_dev during disconnect to drop the ref count. Otherwise\nstruct usb_device memory is leaked.\n\nChange-Id: Ia82f5ff7ef1a0a5e5c54f6e52b9e22f8434c45a6\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/cc193f3f4a01d98da6963901f431c7c170c8e1a4"},{"sha":"83f5d09f8c9839abd1c07488c631eb05cf1a187b","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Enable the auto-suspend\n\nThe USB UICC cards are always attached to the host. Enable the\nauto-suspend to save power.\n\nChange-Id: I715171fa677b64da220114d515ceb775fdab54a0\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/83f5d09f8c9839abd1c07488c631eb05cf1a187b"},{"sha":"f5d53982d066f7e319667d4439b8038a5453355f","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Add module param for bulk message timeout\n\nThe bulk message timeout is 1 second by default. Some cards take\nmore time to respond to CCID commands. Provide a module param\nto configure the bulk message timeout.\n\nFor example, the below command configures the timeout as 5 seconds.\n\necho -n 5000 > /sys/module/ccid_bridge/parameters/bulk_msg_timeout\n\nCRs-Fixed: 652421\nChange-Id: I5f8fc2a9586d3728fe1c43311a28c4084a333164\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/f5d53982d066f7e319667d4439b8038a5453355f"},{"sha":"e8bb5e466fa1bf136d73c9fe797e0065a41ee965","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Don't kill URB in release after device is disconnected\n\nThe URBs are killed in disconnect method. If the device is disconnected\nbefore the /dev/ccid_bridge is closed, no need to kill the URBs again.\nAs the URB reference count is dropped in disconnect, accessing it in\nrelease is causing the kernel panic.\n\nCRs-Fixed: 653776\nChange-Id: I7fae9ac2568cce59ea39bdd73c955d388d3f26bd\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/e8bb5e466fa1bf136d73c9fe797e0065a41ee965"},{"sha":"8b6c9fa9320756375f7a8e2842f35219af7937b9","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: ccid_bridge: Provide bulk message write/read stats via debugfs\n\nThe bulk message timeouts are observed occasionally during mass storage\ntransfers. This debug facility helps in identifying such timeout issues.\n\nThe sample output of the stats debugfs file.\n\nccid_bridge: connected\nccid_bridge: opened\ntotal writes: 444\ntotal reads: 444\nwrite/read timeout val: 1000\nwrite_timeout: 0\nread_timeout: 0\nwrite_max_time (msec): 130\nread_max_time: (msec): 857\n\nCRs-Fixed: 659909\nChange-Id: I9787288c10d23b176c9316feed82d41bd2adae65\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/8b6c9fa9320756375f7a8e2842f35219af7937b9"},{"sha":"85c67aa0ee8172c2e12f90fa8e3af93e6f090f33","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@cyngn.com","name":"Steve Kondik"},"message":"dwc3: Fix order of pm_runtime calls\n\nChange-Id: Icf6bacc0f74e1d563701172c42b223d6aebfb208","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/85c67aa0ee8172c2e12f90fa8e3af93e6f090f33"},{"sha":"ba2e49d2b5afe6e9feea983c21332ad36f837bb5","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"USB: dwc3: msm: Don't disable/enable clocks if in lpm during block reset\n\nWhenever interrupt is triggered for erratic event, USB driver schedules\nwork to do USB block reset as part of recovery. Currently while doing\nblock reset, not checking whether USB is in lpm and going ahead with\ndisabling clocks which messup clock counters. Hence check if USB is in lpm\nand do disabling/enabling clocks only if it is not lpm.\n\nChange-Id: Ib28e76f0786184506bec69b7541e56dd7a16ed0f\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/ba2e49d2b5afe6e9feea983c21332ad36f837bb5"},{"sha":"fe71010fde75b8b1ec217ae4e5b8eaf976e76b93","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"USB: dwc3: ep0: Use WARN_ON_ONCE to fix message flooding issue\n\nCurrently driver is using WARN_ON to print call stack whenever\nstarting control transfer fails. This could cause issue of\nflooding of messages. Hence fix this by moving to WARN_ON_ONCE.\nAlso add debug events in case of error instead printing error\nmessage.\n\nChange-Id: Ie3b52b046276d82a7055e9b43d081408c7bcff51\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/fe71010fde75b8b1ec217ae4e5b8eaf976e76b93"},{"sha":"8ca2b18da725530cefda88febecd09ae5ddd25b1","author":{"email":"51907cac86db5f2ed57a4ac58c042ecc27c0b352@codeaurora.org","name":"Manu Gautam"},"message":"dwc3: gadget: Add support for transfer complete events counting\n\nAdd counting of USB transfers completion events/interrupts\nso that it can be used to determine USB transfers or BUS usage.\nThis is a simple approach which gives reasonable accuracy to\navoid counting actual bytes that got transferred over USB.\n\nCRs-fixed: 687220\nChange-Id: Ib06e916ef1b3a7dbf0b3c720d306e922043a7f33\nSigned-off-by: Manu Gautam <mgautam@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/8ca2b18da725530cefda88febecd09ae5ddd25b1"},{"sha":"2e258f4062f729636a4e4e46685640773447c137","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: android: Add support for USB UICC mass storage\n\nUSB UICC cards can support multiple partitions which can be\nexposed to the host via USB mass storage function. The number\nof partitions of UICC card may vary for each target. Hence\ncreate a device tree property to accept the required luns.\n\nCRs-Fixed: 639635\nChange-Id: I5bf5e9acd9fed72adffe469b602ab2d431ccfa3e\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/2e258f4062f729636a4e4e46685640773447c137"},{"sha":"87c8e668faabed90b41f4b79f5d62623103715d8","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"USB: ehci-msm2: Add module parameter to activate driver for uicc card\n\nOn some platforms, host only port is used for connecting peripherals\nlike uicc card. Userspace will come to know uicc card insertion and\nuse sysfs interface to activate driver and binds driver. Hence fail\nprobe for uicc card till userspace activates this driver through\nsysfs.\n\nUserspace has to run following commands to activate driver:\n    1. echo Y > /sys/module/ehci_msm2/parameters/uicc_card_present\n    2. echo msm_ehci_host > /sys/bus/platform/mdrivers/msm_ehci_host/bind\n\nAlso external vbus is not required for uicc card and hence don't fail\nprobe if no external vbus.\n\nCRs-Fixed: 616098\nChange-Id: I821bb2cabf4b5ba46fef71ac48a7df0b7aa74bf6\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/87c8e668faabed90b41f4b79f5d62623103715d8"},{"sha":"3a47225cb818661c58f15dc69e2b99de446f74aa","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"USB: ehci-msm2: Put data lines into nondriving mode before PHY lpm\n\nOn some platforms, 2nd host controller is used to connect UICC card and\nit applies pull down resistors on data lines. UICC card is full speed\nICUSB peripheral, which doesn't expect pull down resistor applied on\ndata lines by host. Hence put datalines in non driving mode during bus\nsuspend before putting PHY in low power mode so that pull downs will\nbe removed to save power.\n\nChange-Id: I2df57a082fa47156ab8d8675828a5dfa8a1c35d0\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/3a47225cb818661c58f15dc69e2b99de446f74aa"},{"sha":"620951ff0542c0497ce025ff68a128383a512b31","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"usb: phy: msm: Use correct HS_PHY_CTRL register\n\nDriver supports using one of the two HSPHYs with the\ncontroller based on the DT flag. There are two different\nHS_PHY_CTRL registers for these PHYs. Based on the PHY\nselected select the correct HS_PHY_CTRL register.\n\nChange-Id: I4c85708a4d7daf645fa5cbff0e3906541fdb7b1f\nSigned-off-by: Manu Gautam <mgautam@codeaurora.org>\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/620951ff0542c0497ce025ff68a128383a512b31"},{"sha":"e3b9597b9938aed25194a3346831a777d463d0fa","author":{"email":"e4a0348e45a0df0ba79f6b06c66df8ae7aca44a4@codeaurora.org","name":"Pavankumar Kondeti"},"message":"USB: Fix bug in ext_chg_active flag handling\n\nThe ext_chg_active flag is set to true when the external charger\nprocessing is pending. It is set to true when DCP is detected and\nset to false when the user space notifies that it is done with\nthe charger detection. The user space may unblock the low power mode\nany time to access the hardware to request a new voltage setting.\nThe current code does not set ext_chg_active flag in this case due to\nwhich USB enters low power mode while external charger processing\nis pending. This results in unclocked register access.\nFix the issue by setting ext_chg_active to true every time the\nuserspace calls the block LPM.\n\nCRs-Fixed: 663301\nChange-Id: If18f762d7fc0b4eaba297e27bbd7382b161fbcde\nSigned-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>\nSigned-off-by: Saket Saurabh <ssaurabh@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/e3b9597b9938aed25194a3346831a777d463d0fa"},{"sha":"aafe92d0cc3f43dd6be57ada318cfb51d1f5db1b","author":{"email":"bec49d6bbc8eef9fde5fca0b80b483432bd597ca@codeaurora.org","name":"Saket Saurabh"},"message":"usb: msm_otg: Fix timeout during usb disconnect with hvdcp charger\n\nOnce DCP is detected, ext_chg_active is set to true and DCP uevent\nreached to user space. The hvdcp main thread mark dcp_connected to\ntrue and wakesup the detector thread to do hvdcp detection. But before\nthe detector thread gets a chance to run, DCP is removed. The disconnect\nuevent reached the user space and the hvdcp main thread marks the\ndcp_connected to false and it will not call any ioctl call. As\next_chg_active is still set to true, it is waiting for 3 seconds while\nprocessing usb disconnect.\n\nAlso it is possible that DCP uevent is reached to the user space much\nbefore ext_chg_active flag is set to true in otg state machine work which\nlater leads to timeout of 3 seconds later while processing usb disconnect.\n\nFix these issues by maintaining different states for ext_chg_active. Upon\nDCP disconnect, if the ext_chg_active value is still default, mark it to\ninactive. This avoid the 3 seconds wait timeout while processing the usb\ndisconnect.\n\nCRs-Fixed: 671181\nChange-Id: Ic4aa6745e994a007bd6bd2e75d4f44fb8f7ac9c1\nSigned-off-by: Saket Saurabh <ssaurabh@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/aafe92d0cc3f43dd6be57ada318cfb51d1f5db1b"},{"sha":"d3c74d1689a61286128077bad785fb80752583ed","author":{"email":"bec49d6bbc8eef9fde5fca0b80b483432bd597ca@codeaurora.org","name":"Saket Saurabh"},"message":"USB: msm_otg: Process HOST disconnect only after system RESUME\n\nIf Host Cable (ID_GND) is disconnected in system suspend then\nit results in race between device removal and device pm_resume.\nPM core does't handle this correctly and sometimes frees up\nparent device before children are resumed. To avoid this race\nmake sure that system has resumed completely before handling\nID_FLOAT (or host cable disconnect) event.\n\nCRs-fixed: 652870, 651561\nChange-Id: Id0956a9677d819d3fa3f17f54965cae38f2ee31d\nSigned-off-by: Manu Gautam <mgautam@codeaurora.org>\nSigned-off-by: Saket Saurabh <ssaurabh@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/d3c74d1689a61286128077bad785fb80752583ed"},{"sha":"0ae643dd25b61937eed877528f1c172e33d424b5","author":{"email":"bec49d6bbc8eef9fde5fca0b80b483432bd597ca@codeaurora.org","name":"Saket Saurabh"},"message":"usb: msm_otg: Fix bug with hvdcp connect and disconnect processing\n\nThe HVDCP charger is detected as a DCP charger by the USB driver. When a\nDCP is detected, ext_chg_active flag is set to true and low power mode is\ndeferred by 3 seconds. When the user space receives the DCP connect uevent,\nit kicks the charger detection algorithm. The charger detection procedure\ninvolves reading and writing to the USB hardware registers and it makes an\nioctl call to block the low power mode by incrementing the pmruntime usage\ncounter. The user space calls the ioctl to unblock low power mode once\nhvdcp detection is done by decrementing the pmruntime usage counter .\n\nConsider the scenario where DCP detection is done and userspace makes\nioctl call to block low power mode. Next usb cable is disconnected and then\nuserspace makes ioctl call to unblock the low power mode by decrementing\nthe pmruntime usage counter. Due to this runtime suspend gets called and\nUSB clocks are turned off which later leads to unclocked access in\ndisconnnect processing. As part of USB disconnect, phy reset is done which\nalso involves ulpi register access. As clocks are turned off, it leads to\ncrash.\n\nFix the issue by making sure otg_sm work for usb disconnect is processed\nfirst followed by decrementing the pmruntime usage counter in the ioctl\ncall made by userspace for unblocking the low power mode.\n\nCRs-Fixed: 668648\nChange-Id: I91db5f2e1084ae8f65dd8ec51c4314acc764c9c5\nSigned-off-by: Saket Saurabh <ssaurabh@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/0ae643dd25b61937eed877528f1c172e33d424b5"},{"sha":"182ebddeb7721b8008c7bb4d3b5643c070f4cf0d","author":{"email":"76e30dc6511df6537bc8f74ebde59f1a6034d162@codeaurora.org","name":"Vijayavardhan Vennapusa"},"message":"USB: msm: Add support for MSM_USB_EXT_CHG_TYPE ioctl\n\nAdd support for MSM_USB_EXT_CHG_TYPE ioctl in driver for userspace to\nnotify kernel whether charger connected is external charger or not.\n\nCRs-Fixed: 652965\nChange-Id: I13095b4183efe3cfc690b7a9cb4f3c2d3cb4ee73\nSigned-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Aaahh/android_kernel_oneplus_msm8974/commits/182ebddeb7721b8008c7bb4d3b5643c070f4cf0d"}]}