Subject: [BUG][bisected 270065e] linux-next fails to boot on powerpc

From: Abdul Haleem <[email-masked]>
Date: Wed, 16 Aug 2017 22:30:15 +0530

Hi Bart,

As of next-20170809, linux-next on powerpc boot hung with below trace
message.

Test : Boot
Machine Type : Power 8 bare-metal
Kernel version : 4.13.0-rc4-next-2017081
gcc : 4.8.5
config: Tul-NV-config file attached

Boot logs:
---------
oprofile: using timer interrupt.
ipip: IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
Key type dns_resolver registered
registered taskstats version 1
ima: No TPM chip found, activating TPM-bypass! (rc=-19)
console [netcon0] enabled
netconsole: network logging started
rtc-opal opal-rtc: setting system clock to 2017-08-16 06:34:56 UTC
(1502865296)
.
ready
sd 0:2:0:0: [sda] 272646144 512-byte logical blocks: (140 GB/130 GiB)
sd 0:2:0:0: [sda] 4096-byte physical blocks
sd 0:2:0:0: [sda] Write Protect is off 
INFO: task swapper/5:1 blocked for more than 120 seconds.
      Not tainted 4.13.0-rc4-next-20170810-autotest #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
swapper/5       D 9936     1      0 0x00000800   
Call Trace:
[c0000007f8483a10] [c0000007f8483a80] 0xc0000007f8483a80 (unreliable)
[c0000007f8483be0] [c00000000001b358] __switch_to+0x2e8/0x430
[c0000007f8483c40] [c0000000009d134c] __schedule+0x38c/0xaf0
[c0000007f8483d20] [c0000000009d1af0] schedule+0x40/0xb0
[c0000007f8483d50] [c000000000110bd4] async_synchronize_cookie_domain
+0xd4/0x150
[c0000007f8483dc0] [c00000000000d8f8] kernel_init+0x28/0x140
[c0000007f8483e30] [c00000000000bc60] ret_from_kernel_thread+0x5c/0x7c

A bisection resulted in first bad commit (270065e92 - scsi: scsi-mq:
Always unprepare ...) in the merge branch 'scsi/for-next'

System booted fine when the below commit is reverted: 

commit 270065e92c317845d69095ec8e3d18616b5b39d5
Author: Bart Van Assche <[email-masked]>
Date:   Thu Aug 3 14:40:14 2017 -0700

    scsi: scsi-mq: Always unprepare before requeuing a request
    
    One of the two scsi-mq functions that requeue a request unprepares a
    request before requeueing (scsi_io_completion()) but the other
function
    not (__scsi_queue_insert()). Make sure that a request is unprepared
    before requeuing it.
    
    Fixes: commit d285203cf647 ("scsi: add support for a blk-mq based
I/O path.")
    Signed-off-by: Bart Van Assche <[email-masked]>
    Cc: Christoph Hellwig <[email-masked]>
    Cc: Hannes Reinecke <[email-masked]>
    Cc: Damien Le Moal <[email-masked]>
    Cc: Johannes Thumshirn <[email-masked]>
    Cc: <[email-masked]>
    Tested-by: Damien Le Moal <[email-masked]>
    Reviewed-by: Christoph Hellwig <[email-masked]>
    Reviewed-by: Johannes Thumshirn <[email-masked]>
    Signed-off-by: Martin K. Petersen <[email-masked]>

-- 
Regard's

Abdul Haleem
IBM Linux Technology Centre