hi! I have four patches I'd like to be reviewed and considered for inclusion. There's one bug and some clean-ups based on what I'm doing in my local branch. * patch-1 fixes a panic if the timed out command isn't currently active. This can happen if the device disconnects mid-transfer and the controller is then idle (or active on another transfer to another device.) * patch-2 adds a string parameter to wd33c93_error() so the caller can specify what the SCSI error was. * patch-3 adds a new debug flag to log submitted SCSI requests to the driver with some details about what the underlying request is (which i found useful for debugging transfer vs sync/async setup stuff.) * patch-4 splits wd33c93_timeout() into wd33c93_timeout() and wd33c93_timeout_callback(). It's being used both as a timeout and as a callback, and whilst tinkering with error handling locally I found it was useful to have them split so I could do stuff like abort/complete the transfer if it's a timeout as there's no subsequent code in that path that would actually complete the transfer. I still have an outstanding question on the kern list about SCSI timeouts and where they're supposed to be handled - for patch-4, I don't think the scsipi layer is running its own timeouts on transfers - it's asking the driver to do it - and if the driver hits the timeout but never completes the transfer it will just be hung/lost for good. Thanks! -adrian
Attachment:
20251201-netbsd-wd33c91-patch-4.diff
Description: Binary data
Attachment:
20251201-netbsd-wd33c91-patch-1.diff
Description: Binary data
Attachment:
20251201-netbsd-wd33c91-patch-3.diff
Description: Binary data
Attachment:
20251201-netbsd-wd33c91-patch-2.diff
Description: Binary data