Page MenuHomeFreeBSD

ahc(4)/ahd(4): fix target mode on ARM
ClosedPublic

Authored by kevans on Apr 19 2024, 2:05 AM.
Tags
None
Referenced Files
F92454440: D44860.id.diff
Sat, Aug 31, 1:50 PM
F92454432: D44860.id137373.diff
Sat, Aug 31, 1:49 PM
F92454431: D44860.id137451.diff
Sat, Aug 31, 1:49 PM
F92453827: D44860.diff
Sat, Aug 31, 1:38 PM
Unknown Object (File)
Fri, Aug 23, 2:00 PM
Unknown Object (File)
Sun, Aug 18, 5:33 AM
Unknown Object (File)
Sun, Aug 11, 3:33 PM
Unknown Object (File)
Tue, Aug 6, 11:07 AM
Subscribers

Details

Summary

One of the comments in ahc_execute_scb() notes that the CAM direction is
actually w.r.t. the initiator. As a consequence, all of our sync ops
end up being wrong because the direction is flipped from that of the
transfer. Fix it to do proper invalidation and avoid spewing random
garbage out on the SCSI bus.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kevans created this revision.
This revision is now accepted and ready to land.Apr 19 2024, 2:11 AM

I have tested this on an Raspberry PI CM4 with the IO board and this works there.

Looks good to me, but if you wish, couple cosmetic thoughts.

sys/dev/aic7xxx/aic7xxx_osm.c
306

post asks to be bool, but considering age of the driver...

309

flags in struct ccb_hdr is uint32_t.

This revision was automatically updated to reflect the committed changes.