Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760417AbbKUNCT (ORCPT ); Sat, 21 Nov 2015 08:02:19 -0500 Received: from smtp-1b.atlantis.sk ([80.94.52.26]:42563 "EHLO smtp-1b.atlantis.sk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753045AbbKUNBv (ORCPT ); Sat, 21 Nov 2015 08:01:51 -0500 From: Ondrej Zary To: Finn Thain Subject: Re: [PATCH 00/71] More fixes, cleanup and modernization for NCR5380 drivers Date: Sat, 21 Nov 2015 14:01:39 +0100 User-Agent: KMail/1.9.10 (enterprise35 0.20100827.1168748) Cc: Sam Creasey , Michael Schmitz , "James E.J. Bottomley" , linux-m68k@vger.kernel.org, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org References: <20151118083455.331768508@telegraphics.com.au> <201511201929.17000.linux@rainbow-software.org> In-Reply-To: X-KMail-QuotePrefix: > MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201511211401.39957.linux@rainbow-software.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 26729 Lines: 436 On Saturday 21 November 2015 02:58:57 Finn Thain wrote: > > 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] [] ? blk_queue_bio+0x1e8/0x1fb > > [ 480.115344] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 480.115564] [] ? schedule+0x5b/0x67 > > [ 480.115794] [] ? schedule_timeout+0x13/0xc5 > > [ 480.116007] [] ? timekeeping_get_ns+0x10/0x69 > > [ 480.116406] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 480.116636] [] ? ktime_get+0x38/0x48 > > [ 480.116843] [] ? io_schedule_timeout+0x83/0xd7 > > [ 480.117062] [] ? bit_wait_io+0x21/0x26 > > [ 480.117256] [] ? __wait_on_bit+0x2f/0x5a > > [ 480.117486] [] ? blkdev_readpages+0x15/0x15 > > [ 480.117704] [] ? wait_on_page_bit+0x57/0x5e > > [ 480.117942] [] ? wake_atomic_t_function+0x2a/0x2a > > [ 480.118151] [] ? wait_on_page_read+0xf/0x2a > > [ 480.118373] [] ? do_read_cache_page+0x8e/0x116 > > [ 480.118587] [] ? blkdev_readpages+0x15/0x15 > > [ 480.118809] [] ? read_cache_page+0x14/0x18 > > [ 480.119008] [] ? read_dev_sector+0x25/0x57 > > [ 480.119222] [] ? adfspart_check_ICS+0x30/0x1ac > > [ 480.119438] [] ? vsnprintf+0x78/0x25d > > [ 480.119671] [] ? snprintf+0x16/0x18 > > [ 480.119874] [] ? check_partition+0xd7/0x165 > > [ 480.120253] [] ? rescan_partitions+0x95/0x283 > > [ 480.120443] [] ? scsi_block_when_processing_errors+0x13/0xae > > [ 480.120693] [] ? mutex_lock+0x9/0x21 > > [ 480.120915] [] ? __blkdev_get+0x155/0x2f6 > > [ 480.121133] [] ? blkdev_get+0x148/0x258 > > [ 480.121350] [] ? unlock_new_inode+0x36/0x3c > > [ 480.121570] [] ? bdget+0xdc/0xe6 > > [ 480.121761] [] ? add_disk+0x221/0x368 > > [ 480.121996] [] ? sd_probe_async+0xed/0x157 > > [ 480.122214] [] ? async_run_entry_fn+0x2c/0xad > > [ 480.122437] [] ? process_one_work+0x130/0x21f > > [ 480.122639] [] ? worker_thread+0x18a/0x247 > > [ 480.122854] [] ? process_scheduled_works+0x1d/0x1d > > [ 480.123069] [] ? kthread+0x7c/0x81 > > [ 480.123288] [] ? ret_from_kernel_thread+0x21/0x30 > > [ 480.123493] [] ? 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] [] ? schedule+0x5b/0x67 > > [ 480.129202] [] ? async_synchronize_cookie_domain+0x73/0x9f > > [ 480.129449] [] ? abort_exclusive_wait+0x6e/0x6e > > [ 480.129667] [] ? do_init_module+0xa4/0x1a3 > > [ 480.129899] [] ? load_module+0x14de/0x18ca > > [ 480.130119] [] ? SyS_finit_module+0x47/0x56 > > [ 480.130346] [] ? 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] [] ? blk_queue_bio+0x1e8/0x1fb > > [ 600.134065] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 600.134283] [] ? schedule+0x5b/0x67 > > [ 600.134509] [] ? schedule_timeout+0x13/0xc5 > > [ 600.134723] [] ? timekeeping_get_ns+0x10/0x69 > > [ 600.134948] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 600.135154] [] ? ktime_get+0x38/0x48 > > [ 600.135377] [] ? io_schedule_timeout+0x83/0xd7 > > [ 600.135576] [] ? bit_wait_io+0x21/0x26 > > [ 600.135788] [] ? __wait_on_bit+0x2f/0x5a > > [ 600.136000] [] ? blkdev_readpages+0x15/0x15 > > [ 600.136399] [] ? wait_on_page_bit+0x57/0x5e > > [ 600.136607] [] ? wake_atomic_t_function+0x2a/0x2a > > [ 600.136838] [] ? wait_on_page_read+0xf/0x2a > > [ 600.137044] [] ? do_read_cache_page+0x8e/0x116 > > [ 600.137276] [] ? blkdev_readpages+0x15/0x15 > > [ 600.137481] [] ? read_cache_page+0x14/0x18 > > [ 600.137699] [] ? read_dev_sector+0x25/0x57 > > [ 600.137901] [] ? adfspart_check_ICS+0x30/0x1ac > > [ 600.138131] [] ? vsnprintf+0x78/0x25d > > [ 600.138329] [] ? snprintf+0x16/0x18 > > [ 600.138544] [] ? check_partition+0xd7/0x165 > > [ 600.138738] [] ? rescan_partitions+0x95/0x283 > > [ 600.138962] [] ? scsi_block_when_processing_errors+0x13/0xae > > [ 600.139189] [] ? mutex_lock+0x9/0x21 > > [ 600.139427] [] ? __blkdev_get+0x155/0x2f6 > > [ 600.139632] [] ? blkdev_get+0x148/0x258 > > [ 600.139865] [] ? unlock_new_inode+0x36/0x3c > > [ 600.140263] [] ? bdget+0xdc/0xe6 > > [ 600.140448] [] ? add_disk+0x221/0x368 > > [ 600.140689] [] ? sd_probe_async+0xed/0x157 > > [ 600.140908] [] ? async_run_entry_fn+0x2c/0xad > > [ 600.141133] [] ? process_one_work+0x130/0x21f > > [ 600.141336] [] ? worker_thread+0x18a/0x247 > > [ 600.141552] [] ? process_scheduled_works+0x1d/0x1d > > [ 600.141764] [] ? kthread+0x7c/0x81 > > [ 600.141982] [] ? ret_from_kernel_thread+0x21/0x30 > > [ 600.142186] [] ? 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] [] ? schedule+0x5b/0x67 > > [ 600.147729] [] ? async_synchronize_cookie_domain+0x73/0x9f > > [ 600.147992] [] ? abort_exclusive_wait+0x6e/0x6e > > [ 600.148390] [] ? do_init_module+0xa4/0x1a3 > > [ 600.148627] [] ? load_module+0x14de/0x18ca > > [ 600.148846] [] ? SyS_finit_module+0x47/0x56 > > [ 600.149073] [] ? 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] [] ? schedule+0x5b/0x67 > > [ 720.153689] [] ? async_synchronize_cookie_domain+0x73/0x9f > > [ 720.153931] [] ? abort_exclusive_wait+0x6e/0x6e > > [ 720.154149] [] ? do_init_module+0xa4/0x1a3 > > [ 720.154379] [] ? load_module+0x14de/0x18ca > > [ 720.154593] [] ? SyS_finit_module+0x47/0x56 > > [ 720.154820] [] ? 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] [] ? blk_queue_bio+0x1e8/0x1fb > > [ 840.159379] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 840.159600] [] ? schedule+0x5b/0x67 > > [ 840.159834] [] ? schedule_timeout+0x13/0xc5 > > [ 840.160052] [] ? timekeeping_get_ns+0x10/0x69 > > [ 840.160446] [] ? bit_wait_io_timeout+0x3d/0x3d > > [ 840.160677] [] ? ktime_get+0x38/0x48 > > [ 840.160884] [] ? io_schedule_timeout+0x83/0xd7 > > [ 840.161105] [] ? bit_wait_io+0x21/0x26 > > [ 840.161306] [] ? __wait_on_bit+0x2f/0x5a > > [ 840.161541] [] ? wait_on_page_bit+0x57/0x5e > > [ 840.161767] [] ? wake_atomic_t_function+0x2a/0x2a > > [ 840.161997] [] ? wait_on_page_read+0xf/0x2a > > [ 840.162206] [] ? do_read_cache_page+0xfc/0x116 > > [ 840.162445] [] ? blkdev_readpages+0x15/0x15 > > [ 840.162651] [] ? read_cache_page+0x14/0x18 > > [ 840.162872] [] ? read_dev_sector+0x25/0x57 > > [ 840.163073] [] ? read_lba+0x94/0x10b > > [ 840.163289] [] ? efi_partition+0xbc/0x451 > > [ 840.163506] [] ? put_page+0x16/0x24 > > [ 840.163732] [] ? wait_on_page_read+0x26/0x2a > > [ 840.163968] [] ? blkdev_readpages+0x15/0x15 > > [ 840.164348] [] ? read_cache_page+0x14/0x18 > > [ 840.164541] [] ? adfspart_check_ICS+0x30/0x1ac > > [ 840.164777] [] ? vsnprintf+0x78/0x25d > > [ 840.164977] [] ? snprintf+0x16/0x18 > > [ 840.165187] [] ? check_partition+0xd7/0x165 > > [ 840.165382] [] ? rescan_partitions+0x95/0x283 > > [ 840.165603] [] ? scsi_block_when_processing_errors+0x13/0xae > > [ 840.165829] [] ? mutex_lock+0x9/0x21 > > [ 840.166066] [] ? __blkdev_get+0x155/0x2f6 > > [ 840.166270] [] ? blkdev_get+0x148/0x258 > > [ 840.166501] [] ? unlock_new_inode+0x36/0x3c > > [ 840.166707] [] ? bdget+0xdc/0xe6 > > [ 840.166914] [] ? add_disk+0x221/0x368 > > [ 840.167134] [] ? sd_probe_async+0xed/0x157 > > [ 840.167372] [] ? async_run_entry_fn+0x2c/0xad > > [ 840.167582] [] ? process_one_work+0x130/0x21f > > [ 840.167802] [] ? worker_thread+0x18a/0x247 > > [ 840.168006] [] ? process_scheduled_works+0x1d/0x1d > > [ 840.168416] [] ? kthread+0x7c/0x81 > > [ 840.168642] [] ? ret_from_kernel_thread+0x21/0x30 > > [ 840.168847] [] ? 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] [] ? schedule+0x5b/0x67 > > [ 840.174443] [] ? async_synchronize_cookie_domain+0x73/0x9f > > [ 840.174689] [] ? abort_exclusive_wait+0x6e/0x6e > > [ 840.174910] [] ? do_init_module+0xa4/0x1a3 > > [ 840.175141] [] ? load_module+0x14de/0x18ca > > [ 840.175359] [] ? SyS_finit_module+0x47/0x56 > > [ 840.175607] [] ? 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. I agree that the results are surprising. Even tried 2.4 kernels (Debian 3.1) and even 2.2 (Debian 3.0) and nothing worked. HW is fine - the drive is accessible in Windows 98 (with Domex driver installed). Now testing the Canon FG2-5202 controller - a simple 8-bit ISA card with only two chips: NCR 53C400 and 74LS245. It's memory mapped, IRQ hardwired to 7. # modprobe g_NCR5380_mmio ncr_irq=255 ncr_addr=0xd8000 ncr_53c400=1 [ 1245.919223] scsi2 : interrupts not enabled. for better interactive performance, [ 1245.919326] scsi2 : please jumper the board for a free IRQ. [ 1245.919389] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x0, n_io_port 0, base 0xd8000, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { NCR53C400 }, USLEEP_POLL 3, USLEEP_WAITLONG 1250, options { AUTOPROBE_IRQ PSEUDO_DMA NCR53C400 } [ 1246.376738] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS [ 1248.202198] sd 2:0:1:0: Attached scsi generic sg1 type 0 [ 1248.420856] 53C400r: no 53C80 gated irq after transfer [ 1248.420948] 53C400r: no end dma signal [ 1248.422459] sd 2:0:1:0: [sdb] Sector size 0 reported, assuming 512. Seems that the PSEUDO_DMA is broken. After adding FLAG_NO_PSEUDO_DMA: # modprobe g_NCR5380_mmio ncr_irq=255 ncr_addr=0xd8000 ncr_53c400=1 [ 67.974362] scsi2 : interrupts not enabled. for better interactive performance, [ 67.974463] scsi2 : please jumper the board for a free IRQ. [ 67.974526] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x0, n_io_port 0, base 0xd8000, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { NCR53C400 NO_PSEUDO_DMA }, USLEEP_POLL 3, USLEEP_WAITLONG 1250, options { AUTOPROBE_IRQ PSEUDO_DMA NCR53C400 } [ 68.432728] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS [ 70.258258] sd 2:0:1:0: Attached scsi generic sg1 type 0 [ 70.277265] sd 2:0:1:0: [sdb] 479350 512-byte logical blocks: (245 MB/234 MiB) [ 70.482252] sd 2:0:1:0: [sdb] Write Protect is off [ 70.482335] sd 2:0:1:0: [sdb] Mode Sense: 8b 00 00 08 [ 70.889646] sd 2:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 73.159513] sdb: sdb1 [ 74.617099] sd 2:0:1:0: [sdb] Attached SCSI disk Yeah, first success! I can even mount the filesystem, although it takes ages (a minute) and these messages: [ 160.872074] sd 2:0:1:0: [sdb] aborting command [ 161.816083] sd 2:0:1:0: [sdb] aborting command # hdparm -t --direct /dev/sdb /dev/sdb: [ 244.840075] sd 2:0:1:0: [sdb] aborting command [ 248.824078] sd 2:0:1:0: [sdb] aborting command [ 293.864069] sd 2:0:1:0: [sdb] aborting command [ 297.824075] sd 2:0:1:0: [sdb] aborting command [ 319.765020] blk_update_request: critical target error, dev sdb, sector 0 [ 319.972994] blk_update_request: critical target error, dev sdb, sector 0 Timing O_DIRECT disk reads: 2 MB in 105.26 seconds = 19.46 kB/sec With your patches (and adding FLAG_NO_PSEUDO_DMA), modprobe is slower but mount faster (4 seconds) and then works better: # modprobe g_NCR5380_mmio ncr_irq=255 ncr_addr=0xd8000 ncr_53c400=1 [ 130.126185] scsi2 : interrupts not enabled. for better interactive performance, [ 130.126284] scsi2 : please jumper the board for a free IRQ. [ 130.126347] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x0, n_io_port 0, base 0xd8000, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { NO_PSEUDO_DMA }, options { AUTOPROBE_IRQ PSEUDO_DMA } [ 145.221755] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS [ 220.629912] sd 2:0:1:0: Attached scsi generic sg1 type 0 [ 220.651400] sd 2:0:1:0: [sdb] 479350 512-byte logical blocks: (245 MB/234 MiB) [ 220.654061] sd 2:0:1:0: [sdb] Write Protect is off [ 220.659344] sd 2:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 220.732415] sdb: sdb1 [ 220.749760] sd 2:0:1:0: [sdb] Attached SCSI disk # hdparm -t --direct /dev/sdb /dev/sdb: Timing O_DIRECT disk reads: 2 MB in 18.25 seconds = 112.20 kB/sec IRQ seems to work too, although driver always shows "irq 0": # modprobe g_NCR5380_mmio ncr_irq=7 ncr_addr=0xd8000 ncr_53c400=1 [ 117.263062] scsi host2: Generic NCR5380/NCR53C400 SCSI, io_port 0x0, n_io_port 0, base 0xd8000, irq 0, can_queue 16, cmd_per_lun 2, sg_tablesize 128, this_id 7, flags { NO_PSEUDO_DMA }, options { AUTOPROBE_IRQ PSEUDO_DMA } [ 132.357474] scsi 2:0:1:0: Direct-Access QUANTUM LP240S GM240S01X 4.6 PQ: 0 ANSI: 2 CCS [ 207.765080] sd 2:0:1:0: Attached scsi generic sg1 type 0 [ 207.783415] sd 2:0:1:0: [sdb] 479350 512-byte logical blocks: (245 MB/234 MiB) [ 207.786167] sd 2:0:1:0: [sdb] Write Protect is off [ 207.790260] sd 2:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 207.859669] sdb: sdb1 [ 207.876556] sd 2:0:1:0: [sdb] Attached SCSI disk # hdparm -t --direct /dev/sdb /dev/sdb: Timing O_DIRECT disk reads: 2 MB in 18.30 seconds = 111.94 kB/sec # mount /dev/sdb1 /mnt # umount /mnt # head /proc/interrupts CPU0 0: 44793 XT-PIC timer 1: 9 XT-PIC i8042 2: 0 XT-PIC cascade 7: 86 XT-PIC NCR5380 8: 1 XT-PIC rtc0 9: 0 XT-PIC uhci_hcd:usb1, uhci_hcd:usb2 10: 1179 XT-PIC eth0 12: 136 XT-PIC i8042 14: 3411 XT-PIC pata_via -- Ondrej Zary -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/