{"push_id":978421652,"size":239,"distinct_size":0,"ref":"refs/heads/linux-next/stable","head":"18558cae0272f8fd9647e69d3fec1565a7949865","before":"c05235d50f681bf685e7290cae05ab3b4fa493f3","commits":[{"sha":"f5f76ea75dce553631ffb08abc44dcecb68e74d4","author":{"email":"e9a3fcd7365f8e6a430ada3b68b984cb4aaf0c3e@linaro.org","name":"Srinivas Kandagatla"},"message":"ASoC: qcom: use correct device pointer in dma allocation\n\ndev pointer in struct snd_soc_pcm_runtime does not have dma_ops set. In\nv4.4 kernel dma_ops would end up pointing to dummy_dma_ops in such cases.\nSo attempting to use such device in allocating coherent memory on aarch64\nwould fail.\n\nAccording to commit 1dccb598df549d892b6450c261da54cdd7af44b4 (\"arm64:\nsimplify dma_get_ops\") The current behavior of dma_get_ops is to fall\nback to the global dma_ops when a device has not set its own dma_ops,\nbut only for DT based systems.\n\nSo, this patch fixes the driver to use correct device pointer while\nallocating coherent memory, and also deletes un-necessary dma_mask setup\non soc_runtime->dev.\n\nWithout this patch lpass driver would fail with below log:\n...\n[    6.541542]  ADV7533: lpass_platform_alloc_buffer: Could not allocate DMA buffer\n[    6.541914] apq8016-lpass-cpu 7708000.lpass-cpu: ASoC: pcm constructor failed: -12\n[    6.548216] qcom-apq8016-sbc 7702000.sound: ASoC: can't create pcm ADV7533 :-12\n[    6.555581] qcom-apq8016-sbc 7702000.sound: ASoC: failed to instantiate card -12\n[    6.566072] qcom-apq8016-sbc: probe of 7702000.sound failed with error -12\n...\n\nSigned-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/f5f76ea75dce553631ffb08abc44dcecb68e74d4"},{"sha":"cde6bcd584b1b910d6ee8d6eb968ea5d20815444","author":{"email":"ff341aa343d564f9e53e9dcb6996be8c04859a66@oracle.com","name":"Dan Carpenter"},"message":"ASoC: AMD: free memory on error\n\nStatic checkers complain if we don't free \"adata\" before returning.\n\nFixes: 7c31335a03b6 ('ASoC: AMD: add AMD ASoC ACP 2.x DMA driver')\nSigned-off-by: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/cde6bcd584b1b910d6ee8d6eb968ea5d20815444"},{"sha":"1ca2cf8c4167c2016d9716998b4f89c4e79d1f89","author":{"email":"b6ffd6973e972cb999e8e535ab74da7fee0c035f@ingics.com","name":"Axel Lin"},"message":"ASoC: rt5659: Fix irq leak\n\nUse devm_request_threaded_irq to ensure the irq is freed when unload the\nmodule. The rt5659->i2c is no longer used after this conversion, thus\nremove it as well.\n\nSigned-off-by: Axel Lin <axel.lin@ingics.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/1ca2cf8c4167c2016d9716998b4f89c4e79d1f89"},{"sha":"ec3995da27e782cc407ce48101c98c19c9ce738d","author":{"email":"f2c659f01951776204a6c5b902787d9019fbeebd@arndb.de","name":"Arnd Bergmann"},"message":"ASoC: mediatek: add i2c dependency\n\nThe newly added mediatek drivers for mt8173 select codes that depend\non I2C, which cuases a build failure if I2C is disabled:\n\nwarning: (SND_SOC_ADAU1761_I2C && SND_SOC_ADAU1781_I2C && SND_SOC_ADAU1977_I2C && SND_SOC_RT5677 && EXTCON_MAX14577 && EXTCON_MAX77693 && EXTCON_MAX77843 && BMC150_ACCEL_I2C && BMG160_I2C) selects REGMAP_I2C which has unmet direct dependencies (I2C)\ncodecs/rt5645.c:3854:1: warning: data definition has no type or storage class\ncodecs/rt5645.c:3854:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]\ncodecs/rt5677.c:5270:1: warning: data definition has no type or storage class\n77_i2c_driver);\n\ncodecs/rt5677.c:5270:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int]\n\nThis adds an explicit dependency.\n\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\nAcked-by: Koro Chen <koro.chen@mediatek.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/ec3995da27e782cc407ce48101c98c19c9ce738d"},{"sha":"2935bf43ef12a8d68b96776ec11155cfa120cb0d","author":{"email":"67e5e1ee902b4e67bce18ea43d9c4b0430ce5e6c@cmss.chinamobile.com","name":"Xiubo Li"},"message":"ASoC: fsl: document DT compatible string \"fsl,imx-audio-wm8960\"\n\nThe devicetree compatible string \"fsl,imx-audio-wm8960\" for\nfsl-asoc-card is missing.\n\nSigned-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/2935bf43ef12a8d68b96776ec11155cfa120cb0d"},{"sha":"6d514c720219a4c0e1c2612c1d830592bfaf5a03","author":{"email":"44f95c252e5bdc8ed4413e18dbc09adedb90bea7@realtek.com","name":"Bard Liao"},"message":"ASoC: rt286: fix capture doesn't work at some cases\n\nRT286_CBJ_CTRL1(0x4f) bit 10 is needed for headset capture. It\nwill be turned off when \"VREF\" widget is on and be turned on when\nbias level is ON. It is odd. And if \"VREF\" is turned on in bias\nlevel is ON, RT286_CBJ_CTRL1(0x4f) bit 10 will be turned off.\nThis patch move the bit control from rt286_set_bias_level and\nrt298_vref_event to rt286_jack_detect. So it will be turned on\nonce a jack is plugged in.\n\nSigned-off-by: Bard Liao <bardliao@realtek.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/6d514c720219a4c0e1c2612c1d830592bfaf5a03"},{"sha":"b28785fa9cede0d4f47310ca0dd2a4e1d50478b5","author":{"email":"44f95c252e5bdc8ed4413e18dbc09adedb90bea7@realtek.com","name":"Bard Liao"},"message":"ASoC: rt5645: fix the shift bit of IN1 boost\n\nThe shift bit of IN1 boost gain control is 12.\n\nSigned-off-by: Bard Liao <bardliao@realtek.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>\nCc: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/b28785fa9cede0d4f47310ca0dd2a4e1d50478b5"},{"sha":"2256b8d2ff6c8e994161ab15b6e6d0314d3174ae","author":{"email":"f2c659f01951776204a6c5b902787d9019fbeebd@arndb.de","name":"Arnd Bergmann"},"message":"ASoC: rt5659: avoid unused variable warning for rt5659_acpi_match\n\nThe newly added rt5659 codec driver unconditionally defines an\nACPI device match table but then uses ACPI_PTR() to remove the\nonly reference to it, so we get a harmless build warning:\n\nsound/soc/codecs/rt5659.c:4200:30: warning: 'rt5659_acpi_match' defined but not used [-Wunused-variable]\n static struct acpi_device_id rt5659_acpi_match[] = {\n\nThis changes both the OF match table and the ACPI match table\nto follow the same style, using ACPI_PTR/of_match_ptr to\nmake the reference conditional, and using an #ifdef to hide\nthe table. This also adds the missing MODULE_DEVICE_TABLE for\nthe OF case and adapts the formatting to the same style.\n\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/2256b8d2ff6c8e994161ab15b6e6d0314d3174ae"},{"sha":"cbfe74a753e877b49dc54e9b04d5d42230ca0aed","author":{"email":"af669d95a4c0de051445d4cafdbb2c5c4a2838be@synopsys.com","name":"Vineet Gupta"},"message":"ARCv2: STAR 9000950267: Handle return from intr to Delay Slot #2\n\nReturning to delay slot, riding an interrupti, had one loose end.\nAUX_USER_SP used for restoring user mode SP upon RTIE was not being\nsetup from orig task's saved value, causing task to use wrong SP,\nleading to ProtV errors.\n\nThe reason being:\n - INTERRUPT_EPILOGUE returns to a kernel trampoline, thus not expected to restore it\n - EXCEPTION_EPILOGUE is not used at all\n\nFix that by restoring AUX_USER_SP explicitly in the trampoline.\n\nThis was broken in the original workaround, but the error scenarios got\nreduced considerably since v3.14 due to following:\n\n 1. The Linuxthreads.old based userspace at the time caused many more\n    exceptions in delay slot than the current NPTL based one.\n    Infact with current userspace the error doesn't happen at all.\n\n 2. Return from interrupt (delay slot or otherwise) doesn't get exercised much\n    after commit 4de0e52867d8 (\"Really Re-enable interrupts to avoid deadlocks\")\n    since IRQ_ACTIVE.active being clear means most returns are as if from pure\n    kernel (even for active interrupts)\n\nInfact the issue only happened in an experimental branch where I was tinkering with\nreverted 4de0e52867d8\n\nCc: stable@kernel.org # v4.2+\nFixes: 4255b07f2c9c (\"ARCv2: STAR 9000793984: Handle return from intr to Delay Slot\")\nSigned-off-by: Vineet Gupta <vgupta@synopsys.com>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/cbfe74a753e877b49dc54e9b04d5d42230ca0aed"},{"sha":"c14a82c781f8df50c4c5215ab92affdc60d72c01","author":{"email":"551ae05ce198473af5b9da594240f54df5f81e31@gmail.com","name":"Sudip Mukherjee"},"message":"ASoC: Intel: Skylake: Fix memory leak\n\nIf snd_soc_tplg_component_load() fails we just printed an error message\nand returned the error code but we missed releasing the firmware.\n\nSigned-off-by: Sudip Mukherjee <sudip@vectorindia.org>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/c14a82c781f8df50c4c5215ab92affdc60d72c01"},{"sha":"f5ede8dcc3ec1fe5344f0d30717931a44e630631","author":{"email":"22ee0097135072451429b5ac45630d52779cd49b@opensource.wolfsonmicro.com","name":"Richard Fitzgerald"},"message":"ASoC: wm5110: Unregister compressed platform when driver is removed\n\nThe driver was not unregistering the compressed platform in\nwm5110_remove(). If the codec is built as a module, this would\nlead to a NULL pointer deref if the module was unloaded and then\nre-probed.\n\nSigned-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/f5ede8dcc3ec1fe5344f0d30717931a44e630631"},{"sha":"95826a37991de87659e21b3649f265a049724aa2","author":{"email":"0a17c744b5fe6e1939c265c7033dd799b8bbd0a8@cirrus.com","name":"Stuart Henderson"},"message":"ASoC: wm8960: Fix input boost mixer left/right naming\n\nINBMIX1 controls LINPUTs and INBMIX2 controls RINPUTs, so fix the naming\naccordingly.\n\nSigned-off-by: Stuart Henderson <stuart.henderson@cirrus.com>\nReviewed-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/95826a37991de87659e21b3649f265a049724aa2"},{"sha":"6bb7451429084cefcb3a18fff809f7992595d2af","author":{"email":"0a17c744b5fe6e1939c265c7033dd799b8bbd0a8@cirrus.com","name":"Stuart Henderson"},"message":"ASoC: wm8960: Fix WM8960_SYSCLK_PLL mode\n\nWith the introduction of WM8960_SYSCLK_AUTO mode, WM8960_SYSCLK_PLL mode was\nmade unusable.  Ensure we're not PLL mode before trying to use MCLK.\n\nFixes: 3176bf2d7ccd (\"ASoC: wm8960: update pll and clock setting function\")\nSigned-off-by: Stuart Henderson <stuart.henderson@cirrus.com>\nReviewed-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/6bb7451429084cefcb3a18fff809f7992595d2af"},{"sha":"5c408fee254633a5be69505bc86c6b034f871ab4","author":{"email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@maciej.szmigiero.name","name":"Maciej S. Szmigiero"},"message":"ASoC: fsl_ssi: remove explicit register defaults\n\nThere is no guarantee that on fsl_ssi module load\nSSI registers will have their power-on-reset values.\n\nIn fact, if the driver is reloaded the values in\nregisters will be whatever they were set to previously.\n\nHowever, the cache needs to be fully populated at probe\ntime to avoid non-atomic allocations during register\naccess.\n\nSpecial case here is imx21-class SSI, since\naccording to datasheet it don't have SACC{ST,EN,DIS}\nregs.\n\nThis fixes hard lockup on fsl_ssi module reload,\nat least in AC'97 mode.\n\nFixes: 05cf237972fe (\"ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast\")\nSigned-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>\nTested-by: Fabio Estevam <fabio.estevam@nxp.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/5c408fee254633a5be69505bc86c6b034f871ab4"},{"sha":"4ae2182b1e3407de369f8c5d799543b7db74221b","author":{"email":"265264fed90bdf8e813a354375ec16f47ebdb1c5@linutronix.de","name":"Sebastian Andrzej Siewior"},"message":"PCI/AER: Flush workqueue on device remove to avoid use-after-free\n\nA Root Port's AER structure (rpc) contains a queue of events.  aer_irq()\nenqueues AER status information and schedules aer_isr() to dequeue and\nprocess it.  When we remove a device, aer_remove() waits for the queue to\nbe empty, then frees the rpc struct.\n\nBut aer_isr() references the rpc struct after dequeueing and possibly\nemptying the queue, which can cause a use-after-free error as in the\nfollowing scenario with two threads, aer_isr() on the left and a\nconcurrent aer_remove() on the right:\n\n  Thread A                      Thread B\n  --------                      --------\n  aer_irq():\n    rpc->prod_idx++\n                                aer_remove():\n                                  wait_event(rpc->prod_idx == rpc->cons_idx)\n                                  # now blocked until queue becomes empty\n  aer_isr():                      # ...\n    rpc->cons_idx++               # unblocked because queue is now empty\n    ...                           kfree(rpc)\n    mutex_unlock(&rpc->rpc_mutex)\n\nTo prevent this problem, use flush_work() to wait until the last scheduled\ninstance of aer_isr() has completed before freeing the rpc struct in\naer_remove().\n\nI reproduced this use-after-free by flashing a device FPGA and\nre-enumerating the bus to find the new device.  With SLUB debug, this\ncrashes with 0x6b bytes (POISON_FREE, the use-after-free magic number) in\nGPR25:\n\n  pcieport 0000:00:00.0: AER: Multiple Corrected error received: id=0000\n  Unable to handle kernel paging request for data at address 0x27ef9e3e\n  Workqueue: events aer_isr\n  GPR24: dd6aa000 6b6b6b6b 605f8378 605f8360 d99b12c0 604fc674 606b1704 d99b12c0\n  NIP [602f5328] pci_walk_bus+0xd4/0x104\n\n[bhelgaas: changelog, stable tag]\nSigned-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>\nSigned-off-by: Bjorn Helgaas <bhelgaas@google.com>\nCC: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/4ae2182b1e3407de369f8c5d799543b7db74221b"},{"sha":"9a4e7849b5e4e8742d71fa90fbf0722dd0710a56","author":{"email":"f6aa0246ff943bfa8602cdf60d40c481b38ed232@arm.linux.org.uk","name":"Russell King"},"message":"component: fix crash on x86_64 with hda audio drivers\n\nMaarten reports that the addition of releasing match data to the\ncomponent helper results in a general protection fault on x86_64.\n\nThis is caused by the devm resources being freed in reverse order\nto their allocation, which caused a use-after-free of the match\narray.\n\nSwitch the match array to be a more conventional kmalloc/kfree()\naffair, explicitly freeing it along with the parent match data\nstructure.\n\nReported-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>\nFixes: ce657b1cddf1 (\"component: add support for releasing match data\")\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/9a4e7849b5e4e8742d71fa90fbf0722dd0710a56"},{"sha":"0f92db53c10ab608874eea8bbe59491cea2f9a46","author":{"email":"8160036f9c092dfaa3b5fdb2cee4498fd919cf3a@huawei.com","name":"John Garry"},"message":"hisi_sas: add dependency for HAS_IOMEM\n\nNot every arch has io, so fix build by adding necessary dependency.\n\nSigned-off-by: John Garry <john.garry@huawei.com>\nSuggested-by: Richard Weinberger <richard@nod.at>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/0f92db53c10ab608874eea8bbe59491cea2f9a46"},{"sha":"0f28ede906a8ad44158a6ef9471a5a412343cced","author":{"email":"8160036f9c092dfaa3b5fdb2cee4498fd919cf3a@huawei.com","name":"John Garry"},"message":"hisi_sas: fix v1 hw check for slot error\n\nCompletion header bit CMPLT_HDR_RSPNS_XFRD flags whether the response\nframe is received into host memory, and not whether the response frame\nhas an error.  As such, change the decision on whether a slot has an\nerror.  Also redundant check on CMPLT_HDR_CMD_CMPLT_MSK is removed.\n\nFixes: 27a3f229 (\"hisi_sas: Add cq interrupt handler\")\n\nSigned-off-by: John Garry <john.garry@huawei.com>\nTested-by: Ricardo Salveti <ricardo.salveti@linaro.org>\nSigned-off-by: Martin K. Petersen <martin.petersen@oracle.com>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/0f28ede906a8ad44158a6ef9471a5a412343cced"},{"sha":"9954859185c6e8359e71121037b627f1e294057d","author":{"email":"3318dc5ce3e4fb7c28a0b841b6801c884e1d0896@metafoo.de","name":"Lars-Peter Clausen"},"message":"ASoC: imx-spdif: Fix crash on suspend\n\nWhen registering a ASoC card the driver data of the parent device is set to\npoint to the card. This driver data is used in the\nsnd_soc_suspend()/resume() callbacks.\n\nThe imx-spdif driver overwrites the driver data with custom data which\ncauses snd_soc_suspend() to crash.  Since the custom driver is not used\nanywhere simply deleting the line which sets the custom driver data fixes\nthe issue.\n\nFixes: 43ac946922b3 (\"ASoC: imx-spdif: add snd_soc_pm_ops for spdif machine driver\")\nTested-by: Fabio Estevam <fabio.estevam@nxp.com>\nSigned-off-by: Lars-Peter Clausen <lars@metafoo.de>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/9954859185c6e8359e71121037b627f1e294057d"},{"sha":"f212c6d8c2b21c1e1d0158d38a7c37f4427f3848","author":{"email":"2c609ffb4e3675cc825ffc138f42668aebf8267d@mansr.com","name":"Mans Rullgard"},"message":"ASoC: mxs-saif: fix clk_prepare() without matching clk_unprepare()\n\nThe clk_prepare() call in hw_params() has no matching clk_unprepare(),\nleaving the clk with an ever-increasing prepare count.  Moreover,\nhw_params() can be called multiple times which would again leave us\nwith a runaway prepare count.  Fix this by moving the clk_prepare()\ncall to the startup() function and adding a shutdown() function with\na matching clk_unprepare() as these operations are already correctly\nbracketed by soc-core.\n\nSigned-off-by: Mans Rullgard <mans@mansr.com>\nSigned-off-by: Mark Brown <broonie@kernel.org>","distinct":false,"url":"https://api.github.com/repos/olivieer/kernel_msm/commits/f212c6d8c2b21c1e1d0158d38a7c37f4427f3848"}]}