<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/mps, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>cam/scsi: Restore scsi_start_stop() and add scsi_start_stop_pc()</title>
<updated>2026-01-26T06:35:31+00:00</updated>
<author>
<name>Jaeyoon Choi</name>
<email>jaeyoon@FreeBSD.org</email>
</author>
<published>2026-01-26T06:29:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd'/>
<id>8ef8c6abfadfc9eb0465ce57c6b09ca310415bdd</id>
<content type='text'>
Revert the argument change that broke libcam in 8c35de49 and move
power_condition support to scsi_start_stop_pc().

Reported by:		imp
Reviewed By:		#cam, imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:	https://reviews.freebsd.org/D54822
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Revert the argument change that broke libcam in 8c35de49 and move
power_condition support to scsi_start_stop_pc().

Reported by:		imp
Reviewed By:		#cam, imp (mentor)
Sponsored by:           Samsung Electronics
Differential Revision:	https://reviews.freebsd.org/D54822
</pre>
</div>
</content>
</entry>
<entry>
<title>mps: Add a probe on completion</title>
<updated>2026-01-09T05:55:32+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2026-01-06T05:13:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6f8e117e5d78709ff70c19e5286949b35099fa9a'/>
<id>6f8e117e5d78709ff70c19e5286949b35099fa9a</id>
<content type='text'>
cam::mps:complete(union ccb *, struct mps_command *, u_int, u32);
    Where u_int is scsas-&gt;flags u32 is the device_info.

This can't be done as an fbt because the data needed for it isn't
present out a function boundary.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cam::mps:complete(union ccb *, struct mps_command *, u_int, u32);
    Where u_int is scsas-&gt;flags u32 is the device_info.

This can't be done as an fbt because the data needed for it isn't
present out a function boundary.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>mps/mpr: Remove bogus sys/cdefs.h includes</title>
<updated>2026-01-09T05:54:44+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2026-01-09T05:48:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d650b2ceda4641475e90ba1f6d349eac98aaa963'/>
<id>d650b2ceda4641475e90ba1f6d349eac98aaa963</id>
<content type='text'>
These are left over from the $FreeBSD$ stuff.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are left over from the $FreeBSD$ stuff.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>mps(4): Fix a typo in a device message</title>
<updated>2025-12-13T09:53:21+00:00</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2025-12-13T09:43:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=bcc735cb710fb74d1fb5f7be3d37701343c58ccd'/>
<id>bcc735cb710fb74d1fb5f7be3d37701343c58ccd</id>
<content type='text'>
- s/reseting/resetting/

MFC after:	5 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- s/reseting/resetting/

MFC after:	5 days
</pre>
</div>
</content>
</entry>
<entry>
<title>cam/scsi: Add power condition support to START STOP UNIT</title>
<updated>2025-12-01T04:40:52+00:00</updated>
<author>
<name>Jaeyoon Choi</name>
<email>jaeyoon@FreeBSD.org</email>
</author>
<published>2025-12-01T04:39:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8c35de4982d855950a900483513f341643f6158f'/>
<id>8c35de4982d855950a900483513f341643f6158f</id>
<content type='text'>
This patch adds a power_condition parameter to the
scsi_start_stop() function and sets the power condition via SSU.

Reviewed by:		imp (mentor)
Sponsored by:           Samsung Electronic
Differential Revision:	https://reviews.freebsd.org/D53922
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds a power_condition parameter to the
scsi_start_stop() function and sets the power condition via SSU.

Reviewed by:		imp (mentor)
Sponsored by:           Samsung Electronic
Differential Revision:	https://reviews.freebsd.org/D53922
</pre>
</div>
</content>
</entry>
<entry>
<title>style(9): white space after ; and around binary operators</title>
<updated>2025-10-16T22:02:50+00:00</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2025-10-15T05:22:00+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0050289464fa56ec79e060b8d8378b9ff7145a0e'/>
<id>0050289464fa56ec79e060b8d8378b9ff7145a0e</id>
<content type='text'>
in for() loops.  Also, use 'while', where only the
conditional test of 'for' was used.

Reviewed by: sjg
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in for() loops.  Also, use 'while', where only the
conditional test of 'for' was used.

Reviewed by: sjg
</pre>
</div>
</content>
</entry>
<entry>
<title>machine/stdarg.h -&gt; sys/stdarg.h</title>
<updated>2025-06-11T16:39:02+00:00</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2025-06-11T16:39:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e453e498cbb88570a3ff7b3679de65c88707da95'/>
<id>e453e498cbb88570a3ff7b3679de65c88707da95</id>
<content type='text'>
Switch to using sys/stdarg.h for va_list type and va_* builtins.

Make an attempt to insert the include in a sensible place.  Where
style(9) was followed this is easy, where it was ignored, aim for the
first block of sys/*.h headers and don't get too fussy or try to fix
other style bugs.

Reviewed by:	imp
Exp-run by:	antoine (PR 286274)
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1595
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch to using sys/stdarg.h for va_list type and va_* builtins.

Make an attempt to insert the include in a sensible place.  Where
style(9) was followed this is easy, where it was ignored, aim for the
first block of sys/*.h headers and don't get too fussy or try to fix
other style bugs.

Reviewed by:	imp
Exp-run by:	antoine (PR 286274)
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1595
</pre>
</div>
</content>
</entry>
<entry>
<title>mps/mpr: Add workaround for firmware not responding to IOC_FACTS or IOC_INIT</title>
<updated>2024-10-13T21:38:01+00:00</updated>
<author>
<name>prateek sethi</name>
<email>prateekrootkey@gmail.com</email>
</author>
<published>2024-10-13T18:38:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c0e0e530ced057502f51d7a6086857305e08fae0'/>
<id>c0e0e530ced057502f51d7a6086857305e08fae0</id>
<content type='text'>
Sometimes, especially with older firmware, mps(4) would have trouble
initializing the card in one of these two steps. Add in a retry after a
short delay. Sean Bruno and Stephen McConnell thought this was OK in the
bug discussions, but never committed it.  Steve indicated the delay
might not be necessary, but the OP clearly needed to make it longer to
make things work. I've kept the delay, and added the suggested comment.

Ported the iocfacts part to mpr as well, since we see similar errors
about once every month or two over a few thousand controllers at
work. We've not seen it with IOC_INIT as far back as I can query the
error log database, so I didn't port that forward. We'll see if this
helps, but won't know for sure until next year (so I'm committing it now
since it won't hurt and might help). We usually see this failure in
connection with complicated recovery operations with a drive that's
failing, though, at least in the last year's worth of failures. It's
not clear this is the same as OP or not.

PR: 212841
Sponsored by: Netflix
Co-authored-by: imp
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes, especially with older firmware, mps(4) would have trouble
initializing the card in one of these two steps. Add in a retry after a
short delay. Sean Bruno and Stephen McConnell thought this was OK in the
bug discussions, but never committed it.  Steve indicated the delay
might not be necessary, but the OP clearly needed to make it longer to
make things work. I've kept the delay, and added the suggested comment.

Ported the iocfacts part to mpr as well, since we see similar errors
about once every month or two over a few thousand controllers at
work. We've not seen it with IOC_INIT as far back as I can query the
error log database, so I didn't port that forward. We'll see if this
helps, but won't know for sure until next year (so I'm committing it now
since it won't hurt and might help). We usually see this failure in
connection with complicated recovery operations with a drive that's
failing, though, at least in the last year's worth of failures. It's
not clear this is the same as OP or not.

PR: 212841
Sponsored by: Netflix
Co-authored-by: imp
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "nvme: Separate total failures from I/O failures"</title>
<updated>2024-08-16T03:29:53+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-08-16T03:29:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ce7fac64ba508dee27f5fa09780debf092222cc2'/>
<id>ce7fac64ba508dee27f5fa09780debf092222cc2</id>
<content type='text'>
All kinds of crazy stuff was mixed into this commit. Revert
it and do it again.

This reverts commit d5507f9e436698ac17dc5ace7ef58493988a9b04.

Sponsored by:		Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All kinds of crazy stuff was mixed into this commit. Revert
it and do it again.

This reverts commit d5507f9e436698ac17dc5ace7ef58493988a9b04.

Sponsored by:		Netflix
</pre>
</div>
</content>
</entry>
<entry>
<title>nvme: Separate total failures from I/O failures</title>
<updated>2024-08-16T02:22:18+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-08-14T22:55:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d5507f9e436698ac17dc5ace7ef58493988a9b04'/>
<id>d5507f9e436698ac17dc5ace7ef58493988a9b04</id>
<content type='text'>
When it's a I/O failure, we can still send admin commands. Separate out
the admin failures and flag them as such so that we can still send admin
commands on half-failed drives.

Fixes: 9229b3105d88 (nvme: Fail passthrough commands right away in failed state)
Sponsored by: Netflix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When it's a I/O failure, we can still send admin commands. Separate out
the admin failures and flag them as such so that we can still send admin
commands on half-failed drives.

Fixes: 9229b3105d88 (nvme: Fail passthrough commands right away in failed state)
Sponsored by: Netflix
</pre>
</div>
</content>
</entry>
</feed>
