Module Name: src Committed By: kardel Date: Mon Mar 11 14:35:22 UTC 2019
Modified Files: src/sys/dev/pci: mpii.c Log Message: PR/54045 fix mpii to adhere to physio diagnostic invariant that fully processed data must not post an error: 1) verify expected scspi state via KASSERT() instead of just setting the variables. 2) set xs->resid only in known good conditions 3) insure setting errors in all error paths and refrain from clearing xs->resid in error paths. While there do some cosmectic clean up: 1) extend and relocate some debug output 2) mpii HBAs can also manage non-disk devices like tapes etc, so log that physical "devices" instead of physical "disks" are attached or detached. Tested with NEOSeries FlexStor II and luckily a broken tape drive 8-( mpii0 at pci1 dev 0 function 0: vendor 1000 product 00ab (rev. 0x01) mpii0: interrupting at irq 11 mpii0: HBA 9400-8i8e, firmware 3.0.4.0, MPI 2.6 mpii0: physical device inserted in slot 9 mpii0: physical device inserted in slot 13 mpii0: physical device inserted in slot 16 st0 at scsibus0 target 9 lun 0: <IBM, ULTRIUM-HH7, J4D1> tape removable st0: density code 92, variable blocks, write-enabled ch0 at scsibus0 target 9 lun 1: <BDT, FlexStor II, 5.50> changer removable ch0: 23 slots, 2 drives, 1 picker, 1 portal st0: tagged queueing ch0: tagged queueing st1 at scsibus0 target 13 lun 0: <IBM, ULTRIUM-HH7, J4D1> tape removable st1: density code 92, variable blocks, write-enabled st1: tagged queueing ses0 at scsibus0 target 16 lun 0: <LSI, VirtualSES, 01> enclosure services fixed Note: pullup-8 To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/mpii.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.