{"push_id":1008642362,"size":179,"distinct_size":0,"ref":"refs/heads/work/hns/gta04/pm","head":"b99e862697eb6e24e2ea9655b648127410d4f14d","before":"973f79f5d35ad3b4d6c614b0815947e68410ec02","commits":[{"sha":"c10910c323bb9e7fc53ba25c83d1adeb9fb20878","author":{"email":"fe08d3c717adf2ae63592e4c9aec6e3e404d8e3e@davemloft.net","name":"David S. Miller"},"message":"sparc: Hook up copy_file_range syscall.\n\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/c10910c323bb9e7fc53ba25c83d1adeb9fb20878"},{"sha":"1a40b95374f680625318ab61d81958e949e0afe3","author":{"email":"8f3f75c74bd5184edcfa6534cab3c13a00a2f794@gentoo.org","name":"Mike Frysinger"},"message":"sparc: Fix system call tracing register handling.\n\nA system call trace trigger on entry allows the tracing\nprocess to inspect and potentially change the traced\nprocess's registers.\n\nAccount for that by reloading the %g1 (syscall number)\nand %i0-%i5 (syscall argument) values.  We need to be\ncareful to revalidate the range of %g1, and reload the\nsystem call table entry it corresponds to into %l7.\n\nReported-by: Mike Frysinger <vapier@gentoo.org>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nTested-by: Mike Frysinger <vapier@gentoo.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/1a40b95374f680625318ab61d81958e949e0afe3"},{"sha":"ca0bb0798022732773752fee97bb633c6f3623d2","author":{"email":"3baaf399f10158bb248d8b94d24caf9e23e7ba74@oracle.com","name":"wim.coekaerts@oracle.com"},"message":"Add sun4v_wdt watchdog driver\n\nThis driver adds sparc hypervisor watchdog support. The default\ntimeout is 60 seconds and the range is between 1 and\n31536000 seconds. Both watchdog-resolution and\nwatchdog-max-timeout MD properties settings are supported.\n\nSigned-off-by: Wim Coekaerts <wim.coekaerts@oracle.com>\nReviewed-by: Julian Calaby <julian.calaby@gmail.com>\nReviewed-by: Guenter Roeck <linux@roeck-us.net>\nSigned-off-by: David S. Miller <davem@davemloft.net>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/ca0bb0798022732773752fee97bb633c6f3623d2"},{"sha":"4f388a9210e2a2c1cd83a5580b74aa13876dbf14","author":{"email":"b8f9cab8be13de37b9588aedad10a20fc3a68783@trendmicro.com.cn","name":"Wei Yongjun"},"message":"[media] media: davinci_vpfe: fix missing unlock on error in vpfe_prepare_pipeline()\n\nAdd the missing unlock before return from function\nvpfe_prepare_pipeline() in the error handling case.\n\nvideo->lock is lock/unlock in function vpfe_open(),\nand no need to unlock it here, so remove unlock\nvideo->lock.\n\nSigned-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>\nSigned-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\nSigned-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/4f388a9210e2a2c1cd83a5580b74aa13876dbf14"},{"sha":"b888d232142c0ac111c7e82d1731c6fbd56fc1fe","author":{"email":"73889760778ff960467ba75991d0ae67a00c37ec@gmail.com","name":"Anton Protopopov"},"message":"[media] media: i2c/adp1653: probe: fix erroneous return value\n\nThe adp1653_probe() function may return positive value EINVAL\nwhich is obviously wrong.\n\nSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\nSigned-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>\nSigned-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/b888d232142c0ac111c7e82d1731c6fbd56fc1fe"},{"sha":"f070d6715509dafc0af223577c896fe3d204ca88","author":{"email":"4acbb9f2b7a6c35ffe616198daf840632ad3a067@apm.com","name":"Suman Tripathi"},"message":"libahci: Implement the capability to override the generic ahci interrupt handler.\n\nThis patch implements the capability to override the generic AHCI\ninterrupt handler so that specific ahci drivers can implement their\nown custom interrupt handler routines.  It also exports\nahci_handle_port_intr so that custom irq_handler implementations can\nuse it.\n\ntj: s/ahci_irq_handler/irq_handler/ and updated description.\n\nSigned-off-by: Suman Tripathi <stripathi@apm.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/f070d6715509dafc0af223577c896fe3d204ca88"},{"sha":"d867b95f965457b9e85fb061ef8e3fdc029116ed","author":{"email":"4acbb9f2b7a6c35ffe616198daf840632ad3a067@apm.com","name":"Suman Tripathi"},"message":"ata: Remove the AHCI_HFLAG_EDGE_IRQ support from libahci.\n\nThe flexibility to override the irq handles in the LLD's are already\npresent, so controllers implementing a edge trigger latch can\nimplement their own interrupt handler inside the driver.  This patch\nremoves the AHCI_HFLAG_EDGE_IRQ support from libahci and moves edge\nirq handling to ahci_xgene.\n\ntj: Minor update to description.\n\nSigned-off-by: Suman Tripathi <stripathi@apm.com>\nSigned-off-by: Tejun Heo <tj@kenrel.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/d867b95f965457b9e85fb061ef8e3fdc029116ed"},{"sha":"32aea2680de01f539d928112150279fdeeabca00","author":{"email":"4acbb9f2b7a6c35ffe616198daf840632ad3a067@apm.com","name":"Suman Tripathi"},"message":"ahci_xgene: Implement the workaround to fix the missing of the edge interrupt for the HOST_IRQ_STAT.\n\nDue to H/W errata, the HOST_IRQ_STAT register misses the edge interrupt\nwhen clearing the HOST_IRQ_STAT register and hardware reporting the\nPORT_IRQ_STAT register happens to be at the same clock cycle.\n\nSigned-off-by: Suman Tripathi <stripathi@apm.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/32aea2680de01f539d928112150279fdeeabca00"},{"sha":"287e6611ab1eac76c2c5ebf6e345e04c80ca9c61","author":{"email":"f2c659f01951776204a6c5b902787d9019fbeebd@arndb.de","name":"Arnd Bergmann"},"message":"libata: fix HDIO_GET_32BIT ioctl\n\nAs reported by Soohoon Lee, the HDIO_GET_32BIT ioctl does not\nwork correctly in compat mode with libata.\n\nI have investigated the issue further and found multiple problems\nthat all appeared with the same commit that originally introduced\nHDIO_GET_32BIT handling in libata back in linux-2.6.8 and presumably\nalso linux-2.4, as the code uses \"copy_to_user(arg, &val, 1)\" to copy\na 'long' variable containing either 0 or 1 to user space.\n\nThe problems with this are:\n\n* On big-endian machines, this will always write a zero because it\n  stores the wrong byte into user space.\n\n* In compat mode, the upper three bytes of the variable are updated\n  by the compat_hdio_ioctl() function, but they now contain\n  uninitialized stack data.\n\n* The hdparm tool calling this ioctl uses a 'static long' variable\n  to store the result. This means at least the upper bytes are\n  initialized to zero, but calling another ioctl like HDIO_GET_MULTCOUNT\n  would fill them with data that remains stale when the low byte\n  is overwritten. Fortunately libata doesn't implement any of the\n  affected ioctl commands, so this would only happen when we query\n  both an IDE and an ATA device in the same command such as\n  \"hdparm -N -c /dev/hda /dev/sda\"\n\n* The libata code for unknown reasons started using ATA_IOC_GET_IO32\n  and ATA_IOC_SET_IO32 as aliases for HDIO_GET_32BIT and HDIO_SET_32BIT,\n  while the ioctl commands that were added later use the normal\n  HDIO_* names. This is harmless but rather confusing.\n\nThis addresses all four issues by changing the code to use put_user()\non an 'unsigned long' variable in HDIO_GET_32BIT, like the IDE subsystem\ndoes, and by clarifying the names of the ioctl commands.\n\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\nReported-by: Soohoon Lee <Soohoon.Lee@f5.com>\nTested-by: Soohoon Lee <Soohoon.Lee@f5.com>\nCc: stable@vger.kernel.org\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/287e6611ab1eac76c2c5ebf6e345e04c80ca9c61"},{"sha":"38714fbd299f992080a11b977f609136ec8530c2","author":{"email":"6fe54c257ff6b705ca789df4131478a7880036eb@nxp.com","name":"Han Xu"},"message":"MAINTAINERS: update Han's email\n\nUpdate my email address from freescale to nxp.\n\nSigned-off-by: Han Xu <han.xu@nxp.com>\nSigned-off-by: Brian Norris <computersforpeace@gmail.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/38714fbd299f992080a11b977f609136ec8530c2"},{"sha":"1f4522400e7e49464da5e584a463bd315283790f","author":{"email":"f625be9dbdcbbd12a043857af148e8fb895d9a1d@xs4all.nl","name":"Hans Verkuil"},"message":"[media] [for,v4.5] media.h: increase the spacing between function ranges\n\nEach function range is quite narrow and especially for connectors this\nwill pose a problem. Increase the function ranges while we still can and\nmove the connector range to the end so that range is practically limitless.\n\n[mchehab@osg.samsung.com: Rebased to apply at Linus tree]\nSigned-off-by: Hans Verkuil <hans.verkuil@cisco.com>\n\nSigned-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/1f4522400e7e49464da5e584a463bd315283790f"},{"sha":"9727a9545adec59f4bccb83d1a709711f4acf242","author":{"email":"ad86ba2154032c9f55743a190faa2459a9d61d42@osg.samsung.com","name":"Mauro Carvalho Chehab"},"message":"[media] media.h: get rid of MEDIA_ENT_F_CONN_TEST\n\nDefining it as a connector was a bad idea. Remove it while it is\nnot too late.\n\nSigned-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/9727a9545adec59f4bccb83d1a709711f4acf242"},{"sha":"0ba4581c84cfb39fd527f6b3457f1c97f6356c04","author":{"email":"3481f239a7c653fe39f8234515e209844ad540bc@cisco.com","name":"Hans Verkuil"},"message":"[media] adv7604: fix tx 5v detect regression\n\nThe 5 volt detect functionality broke in 3.14: the code reads IO register 0x70\nagain after it has already been cleared. Instead it should use the cached\nirq_reg_0x70 value and the io_write to 0x71 to clear 0x70 can be dropped since\nthis has already been done.\n\nSigned-off-by: Hans Verkuil <hans.verkuil@cisco.com>\nCc: <stable@vger.kernel.org>      # for v3.14 and up\nSigned-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/0ba4581c84cfb39fd527f6b3457f1c97f6356c04"},{"sha":"018361767a21fb2d5ebd3ac182c04baf8a8b4e08","author":{"email":"0b85b0feb94c9a44e8676965f48a70291ba74edb@openwrt.org","name":"Gabor Juhos"},"message":"pata-rb532-cf: get rid of the irq_to_gpio() call\n\nThe RB532 platform specific irq_to_gpio() implementation has been\nremoved with commit 832f5dacfa0b (\"MIPS: Remove all the uses of\ncustom gpio.h\"). Now the platform uses the generic stub which causes\nthe following error:\n\n  pata-rb532-cf pata-rb532-cf: no GPIO found for irq149\n  pata-rb532-cf: probe of pata-rb532-cf failed with error -2\n\nDrop the irq_to_gpio() call and get the GPIO number from platform\ndata instead. After this change, the driver works again:\n\n  scsi host0: pata-rb532-cf\n  ata1: PATA max PIO4 irq 149\n  ata1.00: CFA: CF 1GB, 20080820, max MWDMA4\n  ata1.00: 1989792 sectors, multi 0: LBA\n  ata1.00: configured for PIO4\n  scsi 0:0:0:0: Direct-Access     ATA      CF 1GB           0820 PQ: 0\\\n  ANSI: 5\n  sd 0:0:0:0: [sda] 1989792 512-byte logical blocks: (1.01 GB/971 MiB)\n  sd 0:0:0:0: [sda] Write Protect is off\n  sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't\\\n  support DPO or FUA\n   sda: sda1 sda2\n  sd 0:0:0:0: [sda] Attached SCSI disk\n\nFixes: 832f5dacfa0b (\"MIPS: Remove all the uses of custom gpio.h\")\nCc: Alban Bedel <albeu@free.fr>\nCc: Ralf Baechle <ralf@linux-mips.org>\nCc: Arnd Bergmann <arnd@arndb.de>\nCc: <stable@vger.kernel.org> #v4.3+\nSigned-off-by: Gabor Juhos <juhosg@openwrt.org>\nSigned-off-by: Tejun Heo <tj@kernel.org>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/018361767a21fb2d5ebd3ac182c04baf8a8b4e08"},{"sha":"f5bdd66c705484b4bc77eb914be15c1b7881fae7","author":{"email":"da19f0d1311a690ef93489efaf9b0ff7bd44ca5d@linux.intel.com","name":"Alexandra Yates"},"message":"Adding Intel Lewisburg device IDs for SATA\n\nThis patch complements the list of device IDs previously\nadded for lewisburg sata.\n\nSigned-off-by: Alexandra Yates <alexandra.yates@linux.intel.com>\nSigned-off-by: Tejun Heo <tj@kernel.org>\nCc: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/f5bdd66c705484b4bc77eb914be15c1b7881fae7"},{"sha":"c7edd7f99cdaec65e9303b4c9edc19bb595564ed","author":{"email":"cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","name":"Jean-Philippe Brucker"},"message":"ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs\n\nARMv6 CPUs do not have virtualisation extensions, but hyp-stub.S is\nstill included into the image to keep it generic. In order to use ARMv7\ninstructions during HYP initialisation, add -march=armv7-a flag to\nhyp-stub's build.\n\nOn an ARMv6 CPU, __hyp_stub_install returns as soon as it detects that\nthe mode isn't HYP, so we will never reach those instructions.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Russell King <rmk+kernel@arm.linux.org.uk>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/c7edd7f99cdaec65e9303b4c9edc19bb595564ed"},{"sha":"d144dfea8af7108f613139623e63952ed7e69c0c","author":{"email":"c01a8c815a4ad165fff2d1c0d35ddf5b16bd3d7b@nxp.com","name":"Peter Chen"},"message":"usb: chipidea: otg: change workqueue ci_otg as freezable\n\nIf we use USB ID pin as wakeup source, and there is a USB block\ndevice on this USB OTG (ID) cable, the system will be deadlock\nafter system resume.\n\nThe root cause for this problem is: the workqueue ci_otg may try\nto remove hcd before the driver resume has finished, and hcd will\ndisconnect the device on it, then, it will call device_release_driver,\nand holds the device lock \"dev->mutex\", but it is never unlocked since\nit waits workqueue writeback to run to flush the block information, but\nthe workqueue writeback is freezable, it is not thawed before driver\nresume has finished.\n\nWhen the driver (device: sd 0:0:0:0:) resume goes to dpm_complete, it\ntries to get its device lock \"dev->mutex\", but it can't get it forever,\nthen the deadlock occurs. Below call stacks show the situation.\n\nSo, in order to fix this problem, we need to change workqueue ci_otg\nas freezable, then the work item in this workqueue will be run after\ndriver's resume, this workqueue will not be blocked forever like above\ncase since the workqueue writeback has been thawed too.\n\nTested at: i.mx6qdl-sabresd and i.mx6sx-sdb.\n\n[  555.178869] kworker/u2:13   D c07de74c     0   826      2 0x00000000\n[  555.185310] Workqueue: ci_otg ci_otg_work\n[  555.189353] Backtrace:\n[  555.191849] [<c07de4fc>] (__schedule) from [<c07dec6c>] (schedule+0x48/0xa0)\n[  555.198912]  r10:ee471ba0 r9:00000000 r8:00000000 r7:00000002 r6:ee470000 r5:ee471ba4\n[  555.206867]  r4:ee470000\n[  555.209453] [<c07dec24>] (schedule) from [<c07e2fc4>] (schedule_timeout+0x15c/0x1e0)\n[  555.217212]  r4:7fffffff r3:edc2b000\n[  555.220862] [<c07e2e68>] (schedule_timeout) from [<c07df6c8>] (wait_for_common+0x94/0x144)\n[  555.229140]  r8:00000000 r7:00000002 r6:ee470000 r5:ee471ba4 r4:7fffffff\n[  555.235980] [<c07df634>] (wait_for_common) from [<c07df790>] (wait_for_completion+0x18/0x1c)\n[  555.244430]  r10:00000001 r9:c0b5563c r8:c0042e48 r7:ef086000 r6:eea4372c r5:ef131b00\n[  555.252383]  r4:00000000\n[  555.254970] [<c07df778>] (wait_for_completion) from [<c0043cb8>] (flush_work+0x19c/0x234)\n[  555.263177] [<c0043b1c>] (flush_work) from [<c0043fac>] (flush_delayed_work+0x48/0x4c)\n[  555.271106]  r8:ed5b5000 r7:c0b38a3c r6:eea439cc r5:eea4372c r4:eea4372c\n[  555.277958] [<c0043f64>] (flush_delayed_work) from [<c00eae18>] (bdi_unregister+0x84/0xec)\n[  555.286236]  r4:eea43520 r3:20000153\n[  555.289885] [<c00ead94>] (bdi_unregister) from [<c02c2154>] (blk_cleanup_queue+0x180/0x29c)\n[  555.298250]  r5:eea43808 r4:eea43400\n[  555.301909] [<c02c1fd4>] (blk_cleanup_queue) from [<c0417914>] (__scsi_remove_device+0x48/0xb8)\n[  555.310623]  r7:00000000 r6:20000153 r5:ededa950 r4:ededa800\n[  555.316403] [<c04178cc>] (__scsi_remove_device) from [<c0415e90>] (scsi_forget_host+0x64/0x68)\n[  555.325028]  r5:ededa800 r4:ed5b5000\n[  555.328689] [<c0415e2c>] (scsi_forget_host) from [<c0409828>] (scsi_remove_host+0x78/0x104)\n[  555.337054]  r5:ed5b5068 r4:ed5b5000\n[  555.340709] [<c04097b0>] (scsi_remove_host) from [<c04cdfcc>] (usb_stor_disconnect+0x50/0xb4)\n[  555.349247]  r6:ed5b56e4 r5:ed5b5818 r4:ed5b5690 r3:00000008\n[  555.355025] [<c04cdf7c>] (usb_stor_disconnect) from [<c04b3bc8>] (usb_unbind_interface+0x78/0x25c)\n[  555.363997]  r8:c13919b4 r7:edd3c000 r6:edd3c020 r5:ee551c68 r4:ee551c00 r3:c04cdf7c\n[  555.371892] [<c04b3b50>] (usb_unbind_interface) from [<c03dc248>] (__device_release_driver+0x8c/0x118)\n[  555.381213]  r10:00000001 r9:edd90c00 r8:c13919b4 r7:ee551c68 r6:c0b546e0 r5:c0b5563c\n[  555.389167]  r4:edd3c020\n[  555.391752] [<c03dc1bc>] (__device_release_driver) from [<c03dc2fc>] (device_release_driver+0x28/0x34)\n[  555.401071]  r5:edd3c020 r4:edd3c054\n[  555.404721] [<c03dc2d4>] (device_release_driver) from [<c03db304>] (bus_remove_device+0xe0/0x110)\n[  555.413607]  r5:edd3c020 r4:ef17f04c\n[  555.417253] [<c03db224>] (bus_remove_device) from [<c03d8128>] (device_del+0x114/0x21c)\n[  555.425270]  r6:edd3c028 r5:edd3c020 r4:ee551c00 r3:00000000\n[  555.431045] [<c03d8014>] (device_del) from [<c04b1560>] (usb_disable_device+0xa4/0x1e8)\n[  555.439061]  r8:edd3c000 r7:eded8000 r6:00000000 r5:00000001 r4:ee551c00\n[  555.445906] [<c04b14bc>] (usb_disable_device) from [<c04a8e54>] (usb_disconnect+0x74/0x224)\n[  555.454271]  r9:edd90c00 r8:ee551000 r7:ee551c68 r6:ee551c9c r5:ee551c00 r4:00000001\n[  555.462156] [<c04a8de0>] (usb_disconnect) from [<c04a8fb8>] (usb_disconnect+0x1d8/0x224)\n[  555.470259]  r10:00000001 r9:edd90000 r8:ee471e2c r7:ee551468 r6:ee55149c r5:ee551400\n[  555.478213]  r4:00000001\n[  555.480797] [<c04a8de0>] (usb_disconnect) from [<c04ae5ec>] (usb_remove_hcd+0xa0/0x1ac)\n[  555.488813]  r10:00000001 r9:ee471eb0 r8:00000000 r7:ef3d9500 r6:eded810c r5:eded80b0\n[  555.496765]  r4:eded8000\n[  555.499351] [<c04ae54c>] (usb_remove_hcd) from [<c04d4158>] (host_stop+0x28/0x64)\n[  555.506847]  r6:eeb50010 r5:eded8000 r4:eeb51010\n[  555.511563] [<c04d4130>] (host_stop) from [<c04d09b8>] (ci_otg_work+0xc4/0x124)\n[  555.518885]  r6:00000001 r5:eeb50010 r4:eeb502a0 r3:c04d4130\n[  555.524665] [<c04d08f4>] (ci_otg_work) from [<c00454f0>] (process_one_work+0x194/0x420)\n[  555.532682]  r6:ef086000 r5:eeb502a0 r4:edc44480\n[  555.537393] [<c004535c>] (process_one_work) from [<c00457b0>] (worker_thread+0x34/0x514)\n[  555.545496]  r10:edc44480 r9:ef086000 r8:c0b1a100 r7:ef086034 r6:00000088 r5:edc44498\n[  555.553450]  r4:ef086000\n[  555.556032] [<c004577c>] (worker_thread) from [<c004bab4>] (kthread+0xdc/0xf8)\n[  555.563268]  r10:00000000 r9:00000000 r8:00000000 r7:c004577c r6:edc44480 r5:eddc15c0\n[  555.571221]  r4:00000000\n[  555.573804] [<c004b9d8>] (kthread) from [<c000fef0>] (ret_from_fork+0x14/0x24)\n[  555.581040]  r7:00000000 r6:00000000 r5:c004b9d8 r4:eddc15c0\n\n[  553.429383] sh              D c07de74c     0   694    691 0x00000000\n[  553.435801] Backtrace:\n[  553.438295] [<c07de4fc>] (__schedule) from [<c07dec6c>] (schedule+0x48/0xa0)\n[  553.445358]  r10:edd3c054 r9:edd3c078 r8:edddbd50 r7:edcbbc00 r6:c1377c34 r5:60000153\n[  553.453313]  r4:eddda000\n[  553.455896] [<c07dec24>] (schedule) from [<c07deff8>] (schedule_preempt_disabled+0x10/0x14)\n[  553.464261]  r4:edd3c058 r3:0000000a\n[  553.467910] [<c07defe8>] (schedule_preempt_disabled) from [<c07e0bbc>] (mutex_lock_nested+0x1a0/0x3e8)\n[  553.477254] [<c07e0a1c>] (mutex_lock_nested) from [<c03e927c>] (dpm_complete+0xc0/0x1b0)\n[  553.485358]  r10:00561408 r9:edd3c054 r8:c0b4863c r7:edddbd90 r6:c0b485d8 r5:edd3c020\n[  553.493313]  r4:edd3c0d0\n[  553.495896] [<c03e91bc>] (dpm_complete) from [<c03e9388>] (dpm_resume_end+0x1c/0x20)\n[  553.503652]  r9:00000000 r8:c0b1a9d0 r7:c1334ec0 r6:c1334edc r5:00000003 r4:00000010\n[  553.511544] [<c03e936c>] (dpm_resume_end) from [<c0079894>] (suspend_devices_and_enter+0x158/0x504)\n[  553.520604]  r4:00000000 r3:c1334efc\n[  553.524250] [<c007973c>] (suspend_devices_and_enter) from [<c0079e74>] (pm_suspend+0x234/0x2cc)\n[  553.532961]  r10:00561408 r9:ed6b7300 r8:00000004 r7:c1334eec r6:00000000 r5:c1334ee8\n[  553.540914]  r4:00000003\n[  553.543493] [<c0079c40>] (pm_suspend) from [<c0078a6c>] (state_store+0x6c/0xc0)\n\n[  555.703684] 7 locks held by kworker/u2:13/826:\n[  555.708140]  #0:  (\"%s\"\"ci_otg\"){++++.+}, at: [<c0045484>] process_one_work+0x128/0x420\n[  555.716277]  #1:  ((&ci->work)){+.+.+.}, at: [<c0045484>] process_one_work+0x128/0x420\n[  555.724317]  #2:  (usb_bus_list_lock){+.+.+.}, at: [<c04ae5e4>] usb_remove_hcd+0x98/0x1ac\n[  555.732626]  #3:  (&dev->mutex){......}, at: [<c04a8e28>] usb_disconnect+0x48/0x224\n[  555.740403]  #4:  (&dev->mutex){......}, at: [<c04a8e28>] usb_disconnect+0x48/0x224\n[  555.748179]  #5:  (&dev->mutex){......}, at: [<c03dc2f4>] device_release_driver+0x20/0x34\n[  555.756487]  #6:  (&shost->scan_mutex){+.+.+.}, at: [<c04097d0>] scsi_remove_host+0x20/0x104\n\nCc: <stable@vger.kernel.org> #v3.14+\nCc: Jun Li <jun.li@nxp.com>\nSigned-off-by: Peter Chen <peter.chen@nxp.com>","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/d144dfea8af7108f613139623e63952ed7e69c0c"},{"sha":"157078f64b8a9cd7011b6b900b2f2498df850748","author":{"email":"5832886f93ec934ed3ea3b4687be7c55600d6eaf@rohde-schwarz.com","name":"Thomas Betker"},"message":"Revert \"jffs2: Fix lock acquisition order bug in jffs2_write_begin\"\n\nThis reverts commit 5ffd3412ae55\n(\"jffs2: Fix lock acquisition order bug in jffs2_write_begin\").\n\nThe commit modified jffs2_write_begin() to remove a deadlock with\njffs2_garbage_collect_live(), but this introduced new deadlocks found\nby multiple users. page_lock() actually has to be called before\nmutex_lock(&c->alloc_sem) or mutex_lock(&f->sem) because\njffs2_write_end() and jffs2_readpage() are called with the page locked,\nand they acquire c->alloc_sem and f->sem, resp.\n\nIn other words, the lock order in jffs2_write_begin() was correct, and\nit is the jffs2_garbage_collect_live() path that has to be changed.\n\nRevert the commit to get rid of the new deadlocks, and to clear the way\nfor a better fix of the original deadlock.\n\nReported-by: Deng Chao <deng.chao1@zte.com.cn>\nReported-by: Ming Liu <liu.ming50@gmail.com>\nReported-by: wangzaiwei <wangzaiwei@top-vision.cn>\nSigned-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>\nSigned-off-by: David Woodhouse <David.Woodhouse@intel.com>\nCc: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/157078f64b8a9cd7011b6b900b2f2498df850748"},{"sha":"49e91e7079febe59a20ca885a87dd1c54240d0f1","author":{"email":"b460d66aaf00c296a3db1c1d9eeafc081d5f7d70@intel.com","name":"David Woodhouse"},"message":"jffs2: Fix page lock / f->sem deadlock\n\nWith this fix, all code paths should now be obtaining the page lock before\nf->sem.\n\nReported-by: Szabó Tamás <sztomi89@gmail.com>\nTested-by: Thomas Betker <thomas.betker@rohde-schwarz.com>\nSigned-off-by: David Woodhouse <David.Woodhouse@intel.com>\nCc: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/49e91e7079febe59a20ca885a87dd1c54240d0f1"},{"sha":"be629c62a603e5935f8177fd8a19e014100a259e","author":{"email":"b460d66aaf00c296a3db1c1d9eeafc081d5f7d70@intel.com","name":"David Woodhouse"},"message":"Fix directory hardlinks from deleted directories\n\nWhen a directory is deleted, we don't take too much care about killing off\nall the dirents that belong to it — on the basis that on remount, the scan\nwill conclude that the directory is dead anyway.\n\nThis doesn't work though, when the deleted directory contained a child\ndirectory which was moved *out*. In the early stages of the fs build\nwe can then end up with an apparent hard link, with the child directory\nappearing both in its true location, and as a child of the original\ndirectory which are this stage of the mount process we don't *yet* know\nis defunct.\n\nTo resolve this, take out the early special-casing of the \"directories\nshall not have hard links\" rule in jffs2_build_inode_pass1(), and let the\nnormal nlink processing happen for directories as well as other inodes.\n\nThen later in the build process we can set ic->pino_nlink to the parent\ninode#, as is required for directories during normal operaton, instead\nof the nlink. And complain only *then* about hard links which are still\nin evidence even after killing off all the unreachable paths.\n\nReported-by: Liu Song <liu.song11@zte.com.cn>\nSigned-off-by: David Woodhouse <David.Woodhouse@intel.com>\nCc: stable@vger.kernel.org","distinct":false,"url":"https://api.github.com/repos/goldelico/gta04-kernel/commits/be629c62a603e5935f8177fd8a19e014100a259e"}]}