Re: [PATCH 00/71] More fixes, cleanup and modernization for NCR5380 drivers

From: Finn Thain
Date: Fri Nov 20 2015 - 21:00:27 EST



Hi Ondrej,

On Fri, 20 Nov 2015, Ondrej Zary wrote:

> On Friday 20 November 2015 02:41:19 Finn Thain wrote:
> >
> >
> > My tests involved 3 different scsi targets (two disks and a CD-ROM)
> > but none of these send a SDTR. Your log says the driver correctly
> > rejected the SDTR message but that doesn't mean the target actually
> > went to MSG IN phase and got the message. Do you have any older
> > targets you can test?
>
> Another disk, without patches:
>
> [ 84.481582] pnp 01:01.00: activated
> [ 84.489650] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x240, n_io_port 16, base 0x0, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { DTC3181E NO_PSEUDO_DMA }, USLEEP_POLL 3, USLEEP_WAITLONG 1250, options { AUTOPROBE_IRQ PSEUDO_DMA NCR53C400 }
> [ 84.953332] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS
> [ 86.786475] sd 2:0:1:0: Attached scsi generic sg1 type 0
> [ 86.793753] sd 2:0:1:0: [sdb] 479350 512-byte logical blocks: (245 MB/234 MiB)
> [ 86.998555] sd 2:0:1:0: [sdb] Write Protect is off
> [ 87.406068] sd 2:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [ 118.888271] sd 2:0:1:0: [sdb] aborting command
> [ 118.888738] sd 2:0:1:0: [sdb] aborting command
>
> With patches:
>
> [ 258.473748] pnp 01:01.00: activated
> [ 258.483592] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x240, n_io_port 16, base 0x0, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { DTC3181E NO_PSEUDO_DMA }, options { AUTOPROBE_IRQ PSEUDO_DMA }
> [ 261.347632] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS
> [ 275.560451] sd 2:0:1:0: Attached scsi generic sg1 type 0
> [ 275.632519] sd 2:0:1:0: [sdb] 479350 512-byte logical blocks: (245 MB/234 MiB)
> [ 275.635533] sd 2:0:1:0: [sdb] Write Protect is off
> [ 275.642315] sd 2:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
> [ 469.076347] sd 2:0:1:0: [sdb] FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
> [ 469.076613] sd 2:0:1:0: [sdb] Sense Key : Aborted Command [current]
> [ 469.076851] sd 2:0:1:0: [sdb] Add. Sense: No additional sense information
> [ 469.077086] sd 2:0:1:0: [sdb] CDB: Read(10) 28 00 00 00 00 02 00 00 02 00
> [ 469.077306] blk_update_request: I/O error, dev sdb, sector 2
> [ 469.077522] Buffer I/O error on dev sdb, logical block 1, async page read
> [ 480.108255] INFO: task kworker/u2:2:60 blocked for more than 120 seconds.
> [ 480.109773] Not tainted 4.3.0-rc1+ #74
> [ 480.109973] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 480.110179] kworker/u2:2 D 00000040 0 60 2 0x00000000
> [ 480.110671] Workqueue: events_unbound async_run_entry_fn
> [ 480.110999] cf9e8780 00000046 2eff25f7 00000040 c117f111 2ee82733 00000040 0016fec4
> [ 480.112390] 00000000 cfaa6000 00000000 7fffffff c139c7d2 c139c504 7fffffff c139d9d3
> [ 480.113661] 00000040 cfaa5cfc c106f460 00161108 00000000 0000c648 2106dcce 00000040
> [ 480.114893] Call Trace:
> [ 480.115124] [<c117f111>] ? blk_queue_bio+0x1e8/0x1fb
> [ 480.115344] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 480.115564] [<c139c504>] ? schedule+0x5b/0x67
> [ 480.115794] [<c139d9d3>] ? schedule_timeout+0x13/0xc5
> [ 480.116007] [<c106f460>] ? timekeeping_get_ns+0x10/0x69
> [ 480.116406] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 480.116636] [<c106fae7>] ? ktime_get+0x38/0x48
> [ 480.116843] [<c139bf83>] ? io_schedule_timeout+0x83/0xd7
> [ 480.117062] [<c139c7f3>] ? bit_wait_io+0x21/0x26
> [ 480.117256] [<c139c697>] ? __wait_on_bit+0x2f/0x5a
> [ 480.117486] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 480.117704] [<c10ad361>] ? wait_on_page_bit+0x57/0x5e
> [ 480.117942] [<c1054a98>] ? wake_atomic_t_function+0x2a/0x2a
> [ 480.118151] [<c10ad386>] ? wait_on_page_read+0xf/0x2a
> [ 480.118373] [<c10ae0e1>] ? do_read_cache_page+0x8e/0x116
> [ 480.118587] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 480.118809] [<c10ae192>] ? read_cache_page+0x14/0x18
> [ 480.119008] [<c1189b0e>] ? read_dev_sector+0x25/0x57
> [ 480.119222] [<c118a8a8>] ? adfspart_check_ICS+0x30/0x1ac
> [ 480.119438] [<c119a3f1>] ? vsnprintf+0x78/0x25d
> [ 480.119671] [<c119a614>] ? snprintf+0x16/0x18
> [ 480.119874] [<c118a7ea>] ? check_partition+0xd7/0x165
> [ 480.120253] [<c118a067>] ? rescan_partitions+0x95/0x283
> [ 480.120443] [<c1254b50>] ? scsi_block_when_processing_errors+0x13/0xae
> [ 480.120693] [<c139cbc6>] ? mutex_lock+0x9/0x21
> [ 480.120915] [<c1100046>] ? __blkdev_get+0x155/0x2f6
> [ 480.121133] [<c110032f>] ? blkdev_get+0x148/0x258
> [ 480.121350] [<c10ec747>] ? unlock_new_inode+0x36/0x3c
> [ 480.121570] [<c10ff106>] ? bdget+0xdc/0xe6
> [ 480.121761] [<c118854f>] ? add_disk+0x221/0x368
> [ 480.121996] [<c126321a>] ? sd_probe_async+0xed/0x157
> [ 480.122214] [<c10443a0>] ? async_run_entry_fn+0x2c/0xad
> [ 480.122437] [<c103f060>] ? process_one_work+0x130/0x21f
> [ 480.122639] [<c103f2f6>] ? worker_thread+0x18a/0x247
> [ 480.122854] [<c103f16c>] ? process_scheduled_works+0x1d/0x1d
> [ 480.123069] [<c1042c46>] ? kthread+0x7c/0x81
> [ 480.123288] [<c139e201>] ? ret_from_kernel_thread+0x21/0x30
> [ 480.123493] [<c1042bca>] ? kthread_parkme+0x11/0x11
> [ 480.123733] INFO: task modprobe:1977 blocked for more than 120 seconds.
> [ 480.123919] Not tainted 4.3.0-rc1+ #74
> [ 480.124239] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 480.124410] modprobe D 00000040 0 1977 1969 0x00000000
> [ 480.124864] cfb20000 00000086 29042653 00000040 c1525f88 28a83a17 00000040 005bec3c
> [ 480.126123] 00000000 ccdd0000 ffffffff ffffffff d2057280 c139c504 00000000 c104416d
> [ 480.127354] 00000000 cfb20000 c1054a45 c151fd8c c151fd8c d2057280 00000000 ccd621f0
> [ 480.128746] Call Trace:
> [ 480.128961] [<c139c504>] ? schedule+0x5b/0x67
> [ 480.129202] [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
> [ 480.129449] [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
> [ 480.129667] [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
> [ 480.129899] [<c107ddb5>] ? load_module+0x14de/0x18ca
> [ 480.130119] [<c107e2a0>] ? SyS_finit_module+0x47/0x56
> [ 480.130346] [<c139e2c0>] ? sysenter_do_call+0x12/0x12
> [ 502.100317] sd 2:0:1:0: [sdb] FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
> [ 502.100578] sd 2:0:1:0: [sdb] Sense Key : Aborted Command [current]
> [ 502.100818] sd 2:0:1:0: [sdb] Add. Sense: No additional sense information
> [ 502.101057] sd 2:0:1:0: [sdb] CDB: Read(10) 28 00 00 00 00 04 00 00 02 00
> [ 502.101279] blk_update_request: I/O error, dev sdb, sector 4
> [ 502.101495] Buffer I/O error on dev sdb, logical block 2, async page read
> [ 600.128255] INFO: task kworker/u2:2:60 blocked for more than 120 seconds.
> [ 600.128486] Not tainted 4.3.0-rc1+ #74
> [ 600.128687] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 600.128891] kworker/u2:2 D 00000040 0 60 2 0x00000000
> [ 600.129381] Workqueue: events_unbound async_run_entry_fn
> [ 600.129709] cf9e8780 00000046 2eff25f7 00000040 c117f111 2ee82733 00000040 0016fec4
> [ 600.130941] 00000000 cfaa6000 00000000 7fffffff c139c7d2 c139c504 7fffffff c139d9d3
> [ 600.132342] 00000040 cfaa5cfc c106f460 00161108 00000000 0000c648 2106dcce 00000040
> [ 600.133613] Call Trace:
> [ 600.133821] [<c117f111>] ? blk_queue_bio+0x1e8/0x1fb
> [ 600.134065] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 600.134283] [<c139c504>] ? schedule+0x5b/0x67
> [ 600.134509] [<c139d9d3>] ? schedule_timeout+0x13/0xc5
> [ 600.134723] [<c106f460>] ? timekeeping_get_ns+0x10/0x69
> [ 600.134948] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 600.135154] [<c106fae7>] ? ktime_get+0x38/0x48
> [ 600.135377] [<c139bf83>] ? io_schedule_timeout+0x83/0xd7
> [ 600.135576] [<c139c7f3>] ? bit_wait_io+0x21/0x26
> [ 600.135788] [<c139c697>] ? __wait_on_bit+0x2f/0x5a
> [ 600.136000] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 600.136399] [<c10ad361>] ? wait_on_page_bit+0x57/0x5e
> [ 600.136607] [<c1054a98>] ? wake_atomic_t_function+0x2a/0x2a
> [ 600.136838] [<c10ad386>] ? wait_on_page_read+0xf/0x2a
> [ 600.137044] [<c10ae0e1>] ? do_read_cache_page+0x8e/0x116
> [ 600.137276] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 600.137481] [<c10ae192>] ? read_cache_page+0x14/0x18
> [ 600.137699] [<c1189b0e>] ? read_dev_sector+0x25/0x57
> [ 600.137901] [<c118a8a8>] ? adfspart_check_ICS+0x30/0x1ac
> [ 600.138131] [<c119a3f1>] ? vsnprintf+0x78/0x25d
> [ 600.138329] [<c119a614>] ? snprintf+0x16/0x18
> [ 600.138544] [<c118a7ea>] ? check_partition+0xd7/0x165
> [ 600.138738] [<c118a067>] ? rescan_partitions+0x95/0x283
> [ 600.138962] [<c1254b50>] ? scsi_block_when_processing_errors+0x13/0xae
> [ 600.139189] [<c139cbc6>] ? mutex_lock+0x9/0x21
> [ 600.139427] [<c1100046>] ? __blkdev_get+0x155/0x2f6
> [ 600.139632] [<c110032f>] ? blkdev_get+0x148/0x258
> [ 600.139865] [<c10ec747>] ? unlock_new_inode+0x36/0x3c
> [ 600.140263] [<c10ff106>] ? bdget+0xdc/0xe6
> [ 600.140448] [<c118854f>] ? add_disk+0x221/0x368
> [ 600.140689] [<c126321a>] ? sd_probe_async+0xed/0x157
> [ 600.140908] [<c10443a0>] ? async_run_entry_fn+0x2c/0xad
> [ 600.141133] [<c103f060>] ? process_one_work+0x130/0x21f
> [ 600.141336] [<c103f2f6>] ? worker_thread+0x18a/0x247
> [ 600.141552] [<c103f16c>] ? process_scheduled_works+0x1d/0x1d
> [ 600.141764] [<c1042c46>] ? kthread+0x7c/0x81
> [ 600.141982] [<c139e201>] ? ret_from_kernel_thread+0x21/0x30
> [ 600.142186] [<c1042bca>] ? kthread_parkme+0x11/0x11
> [ 600.142426] INFO: task modprobe:1977 blocked for more than 120 seconds.
> [ 600.142612] Not tainted 4.3.0-rc1+ #74
> [ 600.142787] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 600.142991] modprobe D 00000040 0 1977 1969 0x00000000
> [ 600.143444] cfb20000 00000086 29042653 00000040 c1525f88 28a83a17 00000040 005bec3c
> [ 600.144819] 00000000 ccdd0000 ffffffff ffffffff d2057280 c139c504 00000000 c104416d
> [ 600.146052] 00000000 cfb20000 c1054a45 c151fd8c c151fd8c d2057280 00000000 ccd621f0
> [ 600.147279] Call Trace:
> [ 600.147489] [<c139c504>] ? schedule+0x5b/0x67
> [ 600.147729] [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
> [ 600.147992] [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
> [ 600.148390] [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
> [ 600.148627] [<c107ddb5>] ? load_module+0x14de/0x18ca
> [ 600.148846] [<c107e2a0>] ? SyS_finit_module+0x47/0x56
> [ 600.149073] [<c139e2c0>] ? sysenter_do_call+0x12/0x12
> [ 662.100333] sd 2:0:1:0: [sdb] FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
> [ 662.100598] sd 2:0:1:0: [sdb] Sense Key : Aborted Command [current]
> [ 662.100838] sd 2:0:1:0: [sdb] Add. Sense: No additional sense information
> [ 662.101076] sd 2:0:1:0: [sdb] CDB: Read(10) 28 00 00 00 00 06 00 00 02 00
> [ 662.101297] blk_update_request: I/O error, dev sdb, sector 6
> [ 662.101512] Buffer I/O error on dev sdb, logical block 3, async page read
> [ 720.148270] INFO: task modprobe:1977 blocked for more than 120 seconds.
> [ 720.148499] Not tainted 4.3.0-rc1+ #74
> [ 720.148699] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 720.148903] modprobe D 00000040 0 1977 1969 0x00000000
> [ 720.149360] cfb20000 00000086 29042653 00000040 c1525f88 28a83a17 00000040 005bec3c
> [ 720.150615] 00000000 ccdd0000 ffffffff ffffffff d2057280 c139c504 00000000 c104416d
> [ 720.151836] 00000000 cfb20000 c1054a45 c151fd8c c151fd8c d2057280 00000000 ccd621f0
> [ 720.153221] Call Trace:
> [ 720.153465] [<c139c504>] ? schedule+0x5b/0x67
> [ 720.153689] [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
> [ 720.153931] [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
> [ 720.154149] [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
> [ 720.154379] [<c107ddb5>] ? load_module+0x14de/0x18ca
> [ 720.154593] [<c107e2a0>] ? SyS_finit_module+0x47/0x56
> [ 720.154820] [<c139e2c0>] ? sysenter_do_call+0x12/0x12
> [ 781.025039] systemd-logind[1942]: New session c2 of user rainbow.
> [ 840.152254] INFO: task kworker/u2:2:60 blocked for more than 120 seconds.
> [ 840.152486] Not tainted 4.3.0-rc1+ #74
> [ 840.152693] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 840.152903] kworker/u2:2 D 0000009a 0 60 2 0x00000000
> [ 840.153399] Workqueue: events_unbound async_run_entry_fn
> [ 840.153730] cf9e8780 00000046 2860b1ff 0000009a c117f111 284404dd 0000009a 001cad22
> [ 840.156408] 00000000 cfaa6000 00000000 7fffffff c139c7d2 c139c504 7fffffff c139d9d3
> [ 840.157689] 0000009a cfaa5c64 c106f460 00161e18 00000000 00013d94 006b70ce 0000009a
> [ 840.158925] Call Trace:
> [ 840.159158] [<c117f111>] ? blk_queue_bio+0x1e8/0x1fb
> [ 840.159379] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 840.159600] [<c139c504>] ? schedule+0x5b/0x67
> [ 840.159834] [<c139d9d3>] ? schedule_timeout+0x13/0xc5
> [ 840.160052] [<c106f460>] ? timekeeping_get_ns+0x10/0x69
> [ 840.160446] [<c139c7d2>] ? bit_wait_io_timeout+0x3d/0x3d
> [ 840.160677] [<c106fae7>] ? ktime_get+0x38/0x48
> [ 840.160884] [<c139bf83>] ? io_schedule_timeout+0x83/0xd7
> [ 840.161105] [<c139c7f3>] ? bit_wait_io+0x21/0x26
> [ 840.161306] [<c139c697>] ? __wait_on_bit+0x2f/0x5a
> [ 840.161541] [<c10ad361>] ? wait_on_page_bit+0x57/0x5e
> [ 840.161767] [<c1054a98>] ? wake_atomic_t_function+0x2a/0x2a
> [ 840.161997] [<c10ad386>] ? wait_on_page_read+0xf/0x2a
> [ 840.162206] [<c10ae14f>] ? do_read_cache_page+0xfc/0x116
> [ 840.162445] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 840.162651] [<c10ae192>] ? read_cache_page+0x14/0x18
> [ 840.162872] [<c1189b0e>] ? read_dev_sector+0x25/0x57
> [ 840.163073] [<c118e22f>] ? read_lba+0x94/0x10b
> [ 840.163289] [<c118e7eb>] ? efi_partition+0xbc/0x451
> [ 840.163506] [<c10b5c33>] ? put_page+0x16/0x24
> [ 840.163732] [<c10ad39d>] ? wait_on_page_read+0x26/0x2a
> [ 840.163968] [<c10ff1eb>] ? blkdev_readpages+0x15/0x15
> [ 840.164348] [<c10ae192>] ? read_cache_page+0x14/0x18
> [ 840.164541] [<c118a8a8>] ? adfspart_check_ICS+0x30/0x1ac
> [ 840.164777] [<c119a3f1>] ? vsnprintf+0x78/0x25d
> [ 840.164977] [<c119a614>] ? snprintf+0x16/0x18
> [ 840.165187] [<c118a7ea>] ? check_partition+0xd7/0x165
> [ 840.165382] [<c118a067>] ? rescan_partitions+0x95/0x283
> [ 840.165603] [<c1254b50>] ? scsi_block_when_processing_errors+0x13/0xae
> [ 840.165829] [<c139cbc6>] ? mutex_lock+0x9/0x21
> [ 840.166066] [<c1100046>] ? __blkdev_get+0x155/0x2f6
> [ 840.166270] [<c110032f>] ? blkdev_get+0x148/0x258
> [ 840.166501] [<c10ec747>] ? unlock_new_inode+0x36/0x3c
> [ 840.166707] [<c10ff106>] ? bdget+0xdc/0xe6
> [ 840.166914] [<c118854f>] ? add_disk+0x221/0x368
> [ 840.167134] [<c126321a>] ? sd_probe_async+0xed/0x157
> [ 840.167372] [<c10443a0>] ? async_run_entry_fn+0x2c/0xad
> [ 840.167582] [<c103f060>] ? process_one_work+0x130/0x21f
> [ 840.167802] [<c103f2f6>] ? worker_thread+0x18a/0x247
> [ 840.168006] [<c103f16c>] ? process_scheduled_works+0x1d/0x1d
> [ 840.168416] [<c1042c46>] ? kthread+0x7c/0x81
> [ 840.168642] [<c139e201>] ? ret_from_kernel_thread+0x21/0x30
> [ 840.168847] [<c1042bca>] ? kthread_parkme+0x11/0x11
> [ 840.169094] INFO: task modprobe:1977 blocked for more than 120 seconds.
> [ 840.169281] Not tainted 4.3.0-rc1+ #74
> [ 840.169454] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 840.169659] modprobe D 00000040 0 1977 1969 0x00000000
> [ 840.170114] cfb20000 00000086 29042653 00000040 c1525f88 28a83a17 00000040 005bec3c
> [ 840.171368] 00000000 ccdd0000 ffffffff ffffffff d2057280 c139c504 00000000 c104416d
> [ 840.172741] 00000000 cfb20000 c1054a45 c151fd8c c151fd8c d2057280 00000000 ccd621f0
> [ 840.173986] Call Trace:
> [ 840.174200] [<c139c504>] ? schedule+0x5b/0x67
> [ 840.174443] [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
> [ 840.174689] [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
> [ 840.174910] [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
> [ 840.175141] [<c107ddb5>] ? load_module+0x14de/0x18ca
> [ 840.175359] [<c107e2a0>] ? SyS_finit_module+0x47/0x56
> [ 840.175607] [<c139e2c0>] ? sysenter_do_call+0x12/0x12
> [ 856.020359] sd 2:0:1:0: [sdb] FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
> [ 856.020623] sd 2:0:1:0: [sdb] Sense Key : Aborted Command [current]
> [ 856.020862] sd 2:0:1:0: [sdb] Add. Sense: No additional sense information
> [ 856.021101] sd 2:0:1:0: [sdb] CDB: Read(10) 28 00 00 00 00 02 00 00 02 00
> [ 856.021324] blk_update_request: I/O error, dev sdb, sector 2
> [ 856.021539] Buffer I/O error on dev sdb, logical block 1, async page read
> [ 857.025325] sd 2:0:1:0: [sdb] FAILED Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
> [ 857.025596] sd 2:0:1:0: [sdb] CDB: Read(10) 28 00 00 00 00 04 00 00 02 00
> [ 857.025830] blk_update_request: I/O error, dev sdb, sector 4
> [ 857.026043] Buffer I/O error on dev sdb, logical block 2, async page read
>
>
> And a CD-ROM, first without patches:
> [ 655.929795] pnp 01:01.00: activated
> [ 655.939503] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x240, n_io_port 16, base 0x0, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { DTC3181E NO_PSEUDO_DMA }, USLEEP_POLL 3, USLEEP_WAITLONG 1250, options { AUTOPROBE_IRQ PSEUDO_DMA NCR53C400 }
> [ 656.441943] scsi 2:0:2:0: CD-ROM SONY CD-ROM CDU-55S 1.0t PQ: 0 ANSI: 2
> [ 657.829087] scsi 2:0:2:0: Attached scsi generic sg1 type 5
> [ 658.325517] sr 2:0:2:0: [sr0] scsi-1 drive
> [ 658.325731] cdrom: Uniform CD-ROM driver Revision: 3.20
>
> Modprobe succeeded but mount resulted in this & hang:
> [ 694.056266] sr 2:0:2:0: [sr0] aborting command
>
> Then with patches:
>
> [ 109.753273] pnp 01:01.00: activated
> [ 109.763039] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x240, n_io_port 16, base 0x0, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { DTC3181E NO_PSEUDO_DMA }, options { AUTOPROBE_IRQ PSEUDO_DMA }
> [ 115.456294] scsi 2:0:2:0: CD-ROM SONY CD-ROM CDU-55S 1.0t PQ: 0 ANSI: 2
> [ 126.823400] scsi 2:0:2:0: Attached scsi generic sg1 type 5
> [ 126.909680] sr 2:0:2:0: [sr0] scsi-1 drive
> [ 126.909888] cdrom: Uniform CD-ROM driver Revision: 3.20
>
> Modprobe succeeded but mount failed after some time with this:
> [ 1005.149546] sr 2:0:2:0: [sr0] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> [ 1005.149764] sr 2:0:2:0: [sr0] Sense Key : Illegal Request [current]
> [ 1005.149992] sr 2:0:2:0: [sr0] Add. Sense: Logical block address out of range
> [ 1005.150222] sr 2:0:2:0: [sr0] CDB: Read(10) 28 00 00 05 7a 94 00 00 02 00
> [ 1005.150433] blk_update_request: critical target error, dev sr0, sector 1436240
> [ 1005.154101] sr 2:0:2:0: [sr0] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> [ 1005.154309] sr 2:0:2:0: [sr0] Sense Key : Illegal Request [current]
> [ 1005.154533] sr 2:0:2:0: [sr0] Add. Sense: Logical block address out of range
> [ 1005.156209] sr 2:0:2:0: [sr0] CDB: Read(10) 28 00 00 05 7a 94 00 00 02 00
> [ 1005.156404] blk_update_request: critical target error, dev sr0, sector 1436240
> [ 1005.156607] Buffer I/O error on dev sr0, logical block 179530, async page read
>
> mount: unknown filesystem type 'iso9660'
>
>

Thanks for these test results! It looks like READ(10) commands don't work.
I don't know the cause of the failures but it appears to be an old bug.
Did you find any regression?

I gather that your setup here is a QUANTUM LP240S target with Domex 3181
(DTC-436) card and g_NCR5380 module. I've been testing a similar setup:
QUANTUM LPS540S target with a Domex 3191D (DTC-536) card and dmx3191d
module. In both setups PIO is used exclusively, no IRQ is used, and
FLAG_DTC3181E is set. I didn't see any issues in my tests, so your results
are surprising.

Let me know off-list if you want any help to debug this. Unfortunately,
Domex Technology Corporation in Taiwan never responded to my requests for
data on the DTC-536 device so there's probably no point in asking them for
data on the DTC-436 device either.

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/