Page MenuHomeFreeBSD

mpi3mr: Fix premature TM timeouts on virtual drives
AcceptedPublic

Authored by chandrakanth.patil_broadcom.com on Aug 22 2025, 8:35 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jun 4, 5:56 PM
Unknown Object (File)
Wed, Jun 3, 11:01 PM
Unknown Object (File)
May 29 2026, 2:24 AM
Unknown Object (File)
May 17 2026, 9:54 PM
Unknown Object (File)
May 17 2026, 7:46 PM
Unknown Object (File)
May 17 2026, 7:46 PM
Unknown Object (File)
May 15 2026, 11:16 AM
Unknown Object (File)
May 10 2026, 2:33 AM
Subscribers
None

Details

Summary

Task Management to virtual drives may timeout prematurely when using a
static default timeout.

Read Abort and Reset timeouts from Device Page 0 and apply the maximum
of the firmware value and the default.

This fixes premature TM failures on virtual drives.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

So how it's used now is fine, but the min_t and max_t macros coerce their arguments to the given type before comparison. This can cause weird results then int values exceed the size (in this case U8). Since the only thing like this is a #define, I think it's OK for now. Just be aware.

This revision is now accepted and ready to land.Aug 24 2025, 3:07 PM
In D52116#1190912, @imp wrote:

So how it's used now is fine, but the min_t and max_t macros coerce their arguments to the given type before comparison. This can cause weird results then int values exceed the size (in this case U8). Since the only thing like this is a #define, I think it's OK for now. Just be aware.

Noted.