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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Thursday 19 November 2015 03:24:56 Finn Thain wrote:
On Wed, 18 Nov 2015, Ondrej Zary wrote:
On Wednesday 18 November 2015, Finn Thain wrote:
Like my previous work on the NCR5380 drivers, this patch series has
bug fixes, code cleanup and modernization. These drivers suffer from
mistakes, poor style and neglect and this long series addresses the
worst of it, covering all ten wrapper drivers and both of the core
driver forks. The combined size of the drivers is reduced by about 750
LoC.

This series continues to reduce divergence between the two core driver
forks, often by copying a bug fix from one to the other. Most patches
are larger for having to keep the two forks in sync. Making the same
change to both is churn if one of them is to be removed but neither
can be as yet. By the end of this series the diff between the two
forks is minimal, so it becomes clear what caused the fork and what
can be done about it.

This patch series did benefit from scripts/checkpatch.pl but not too
much. Decades ago, these drivers started out with 4-space tabs and if
the 80 column limit were to be strictly enforced now, it would require
adding new functions and shortening identifiers. I would defer this
sort of activity until after the fork has been resolved.

I have compile-tested all patches to all NCR5380 drivers (x86, ARM,
m68k) and regression tested mac_scsi and dmx3191d modules on suitable
hardware. Testing the mac_scsi and dmx3191d modules provides only
limited coverage. It would be good to see some testing of ISA cards
and Sun 3 and Atari hardware too (I don't have any).

I have some NCR5380 ISA cards and can test them.

Thanks Ondrej. I've no idea which ISA drivers are presently working in
mainline. Finding regressions may be more difficult than usual ;-)

You're right... looks very broken:

[   62.577194] 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 }
[   62.796635] scsi 2:0:0:0: Direct-Access     IBM      0663             e    PQ: 0 ANSI: 2
[   63.878494] sd 2:0:0:0: Attached scsi generic sg1 type 0
[   95.848260] sd 2:0:0:0: aborting command

And the system hangs completely.

It's much better with your patches, but still not great :)

[   93.963264] pnp 01:01.00: [io  0x0240-0x025f]
[   93.963493] pnp 01:01.00: [irq 5]
[   93.965768] pnp 01:01.00: activated
[   93.977147] 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 }
[   93.987527] scsi host2: rejecting message
[   93.987647] Synchronous Data Transfer Request period = 100 ns offset = 12
[   94.001219] scsi 2:0:0:0: Direct-Access     IBM      0663             e    PQ: 0 ANSI: 2
[  113.000794] sd 2:0:0:0: Attached scsi generic sg1 type 0
[  144.852432] sd 2:0:0:0: [sdb] Unit Not Ready
[  144.852574] sd 2:0:0:0: [sdb] Sense Key : Aborted Command [current]
[  144.852713] sd 2:0:0:0: [sdb] Add. Sense: Select or reselect failure
[  240.108292] INFO: task modprobe:1957 blocked for more than 120 seconds.
[  240.108418]       Not tainted 4.3.0-rc1+ #74
[  240.108501] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  240.108597] modprobe        D 0000001a     0  1957   1950 0x00000000
[  240.108790]  ce0fad00 00000086 53881781 0000001a c1525f88 4edbe39c 0000001a 04ac33e5
[  240.109246]  00000000 ccd54000 ffffffff ffffffff d204b280 c139c504 00000000 c104416d
[  240.109699]  00000000 ce0fad00 c1054a45 c151fd8c c151fd8c d204b280 00000000 ccd6d100
[  240.110156] Call Trace:
[  240.110295]  [<c139c504>] ? schedule+0x5b/0x67
[  240.110430]  [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
[  240.110569]  [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
[  240.110699]  [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
[  240.110824]  [<c107ddb5>] ? load_module+0x14de/0x18ca
[  240.110948]  [<c107e2a0>] ? SyS_finit_module+0x47/0x56
[  240.111068]  [<c139e2c0>] ? sysenter_do_call+0x12/0x12
[  240.852458] sd 2:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
[  240.852620] sd 2:0:0:0: [sdb] Sense Key : Aborted Command [current]
[  240.852760] sd 2:0:0:0: [sdb] Add. Sense: Select or reselect failure
[  272.852471] sd 2:0:0:0: [sdb] Write Protect is off
[  272.852614] sd 2:0:0:0: [sdb] Mode Sense: 00 00 00 00
[  304.084452] sd 2:0:0:0: [sdb] Asking for cache data failed
[  304.084592] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[  360.108284] INFO: task modprobe:1957 blocked for more than 120 seconds.
[  360.108409]       Not tainted 4.3.0-rc1+ #74
[  360.108492] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  360.108591] modprobe        D 0000001a     0  1957   1950 0x00000000
[  360.108787]  ce0fad00 00000086 53881781 0000001a c1525f88 4edbe39c 0000001a 04ac33e5
[  360.109248]  00000000 ccd54000 ffffffff ffffffff d204b280 c139c504 00000000 c104416d
[  360.109703]  00000000 ce0fad00 c1054a45 c151fd8c c151fd8c d204b280 00000000 ccd6d100
[  360.110158] Call Trace:
[  360.110296]  [<c139c504>] ? schedule+0x5b/0x67
[  360.110430]  [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
[  360.110568]  [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
[  360.110699]  [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
[  360.110823]  [<c107ddb5>] ? load_module+0x14de/0x18ca
[  360.110945]  [<c107e2a0>] ? SyS_finit_module+0x47/0x56
[  360.111065]  [<c139e2c0>] ? sysenter_do_call+0x12/0x12
[  431.060488] sd 2:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_SENSE
[  431.060650] sd 2:0:0:0: [sdb] Sense Key : Aborted Command [current]
[  431.060791] sd 2:0:0:0: [sdb] Add. Sense: Select or reselect failure
[  480.108282] INFO: task modprobe:1957 blocked for more than 120 seconds.
[  480.108405]       Not tainted 4.3.0-rc1+ #74
[  480.108488] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  480.108585] modprobe        D 0000001a     0  1957   1950 0x00000000
[  480.108779]  ce0fad00 00000086 53881781 0000001a c1525f88 4edbe39c 0000001a 04ac33e5
[  480.109236]  00000000 ccd54000 ffffffff ffffffff d204b280 c139c504 00000000 c104416d
[  480.109689]  00000000 ce0fad00 c1054a45 c151fd8c c151fd8c d204b280 00000000 ccd6d100
[  480.110145] Call Trace:
[  480.110282]  [<c139c504>] ? schedule+0x5b/0x67
[  480.110417]  [<c104416d>] ? async_synchronize_cookie_domain+0x73/0x9f
[  480.110556]  [<c1054a45>] ? abort_exclusive_wait+0x6e/0x6e
[  480.110685]  [<c10ac9bc>] ? do_init_module+0xa4/0x1a3
[  480.110810]  [<c107ddb5>] ? load_module+0x14de/0x18ca
[  480.110932]  [<c107e2a0>] ? SyS_finit_module+0x47/0x56
[  480.111052]  [<c139e2c0>] ? sysenter_do_call+0x12/0x12
[  495.062082] sd 2:0:0:0: [sdb] Attached SCSI disk

-- 
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux