• Brian King's avatar
    [SCSI] scsi_transport_fc: Fix WARN message for FC passthru failure paths · 61ec33eb
    Brian King authored
    There are three error paths in the FC passthru code where
    job->reply->reply_payload_rcv_len does not get initialized,
    resulting in the WARN_ON in fc_bsg_jobdone going off. This patch
    fixes this. An example of one of the WARN_ON messages seen:
    
    Badness at drivers/scsi/scsi_transport_fc.c:3424
    NIP: d000000000bf21ac LR: d000000000bf2684 CTR: c0000000003f753c
    REGS: c00000004eb03430 TRAP: 0700   Not tainted  (2.6.32-rc4-git)
    MSR: 8000000000029032 <EE,ME,CE,IR,DR>  CR: 24008444  XER: 00000012
    TASK = c00000004c3fc9c0[3243] 'fcping' THREAD: c00000004eb00000 CPU: 0
    GPR00: 0000000000000001 c00000004eb036b0 d000000000c01da0 000000004bf17fc0
    GPR04: c00000004cd256a0 c00000007e011ce0 c00000007e011d00 c00000004e718000
    GPR08: c00000004cd256a0 c00000004eb03ad0 c00000004cd25a90 0000000000000020
    GPR12: d000000000bf7848 c000000000b62600 0000000000000060 fffffffffffffff4
    GPR16: ffffffffffffffd6 c00000004c7a3060 ffffffff80000003 c00000004b0f0310
    GPR20: c00000004e71b180 c00000004c7a3060 0000000000000004 0000000000000000
    GPR24: c00000004e71b000 c00000004c7a3000 c00000004b0f0000 c00000004e718000
    GPR28: c00000004cd256a0 c00000004cd25a90 d000000000c01db0 c00000004e01d680
    NIP [d000000000bf21ac] .fc_bsg_jobdone+0x64/0x9c [scsi_transport_fc]
    LR [d000000000bf2684] .fc_bsg_request_handler+0x4a0/0x564 [scsi_transport_fc]
    Call Trace:
    [c00000004eb036b0] [c0000000003f755c] .get_device+0x20/0x38 (unreliable)
    [c00000004eb03720] [d000000000bf2684] .fc_bsg_request_handler+0x4a0/0x564 [scsi_transport_fc]
    [c00000004eb03820] [c0000000002c9b5c] .__generic_unplug_device+0x58/0x70
    [c00000004eb038a0] [c0000000002ce9fc] .blk_execute_rq_nowait+0x70/0xf4
    [c00000004eb03930] [c0000000002ceb2c] .blk_execute_rq+0xac/0x100
    [c00000004eb03a60] [c0000000002d51b4] .bsg_ioctl+0x1fc/0x264
    [c00000004eb03c10] [c00000000018a89c] .vfs_ioctl+0x54/0xec
    [c00000004eb03ca0] [c00000000018b01c] .do_vfs_ioctl+0x640/0x6a8
    [c00000004eb03d80] [c00000000018b0fc] .SyS_ioctl+0x78/0xbc
    [c00000004eb03e30] [c0000000000085b4] syscall_exit+0x0/0x40
    Instruction dump:
    8003004c 2fa80000 90090104 38000000 900a0108 419e0038 e9230040 81680108
    80690004 7f835840 7c101026 5400f7fe <0b000000> 7d605b78 7f8b1840 409d0008
    Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
    Acked-By: default avatarJames Smart <james.smart@emulex.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    61ec33eb
scsi_transport_fc.c 115 KB