<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/ata, branch stable/10</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r344198:</title>
<updated>2019-02-21T09:54:57+00:00</updated>
<author>
<name>Andriy Voskoboinyk</name>
<email>avos@FreeBSD.org</email>
</author>
<published>2019-02-21T09:54:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9ae23c37e6da5077d0e8fe0dbd4a2b33176b89b3'/>
<id>9ae23c37e6da5077d0e8fe0dbd4a2b33176b89b3</id>
<content type='text'>
GC ATA_REQUEST_TIMEOUT option remnants

It was removed from code in r249083 and from sys/conf/options in r249213.

PR:		193935, 222170
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GC ATA_REQUEST_TIMEOUT option remnants

It was removed from code in r249083 and from sys/conf/options in r249213.

PR:		193935, 222170
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r311305 (by asomers):</title>
<updated>2017-03-23T06:41:13+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-23T06:41:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=63a2397e28702b82eca0410a0a7db8f60fc51215'/>
<id>63a2397e28702b82eca0410a0a7db8f60fc51215</id>
<content type='text'>
Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)

The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq are
fixed-length strings. AFAICT the only place they're read is in
sbin/camcontrol/camcontrol.c, which assumes they'll be null-terminated.
However, the kernel doesn't null-terminate them. A bunch of copy-pasted code
uses strncpy to write them, and doesn't guarantee null-termination. For at
least 4 drivers (mpr, mps, ciss, and hyperv), the hba_vid field actually
overflows. You can see the result by doing "camcontrol negotiate da0 -v".

This change null-terminates those fields everywhere they're set in the
kernel. It also shortens a few strings to ensure they'll fit within the
16-character field.

PR:             215474
Reported by:    Coverity
CID:            1009997 1010000 1010001 1010002 1010003 1010004 1010005
CID:            1331519 1010006 1215097 1010007 1288967 1010008 1306000
CID:            1211924 1010009 1010010 1010011 1010012 1010013 1010014
CID:            1147190 1010017 1010016 1010018 1216435 1010020 1010021
CID:            1010022 1009666 1018185 1010023 1010025 1010026 1010027
CID:            1010028 1010029 1010030 1010031 1010033 1018186 1018187
CID:            1010035 1010036 1010042 1010041 1010040 1010039
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)

The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq are
fixed-length strings. AFAICT the only place they're read is in
sbin/camcontrol/camcontrol.c, which assumes they'll be null-terminated.
However, the kernel doesn't null-terminate them. A bunch of copy-pasted code
uses strncpy to write them, and doesn't guarantee null-termination. For at
least 4 drivers (mpr, mps, ciss, and hyperv), the hba_vid field actually
overflows. You can see the result by doing "camcontrol negotiate da0 -v".

This change null-terminates those fields everywhere they're set in the
kernel. It also shortens a few strings to ensure they'll fit within the
16-character field.

PR:             215474
Reported by:    Coverity
CID:            1009997 1010000 1010001 1010002 1010003 1010004 1010005
CID:            1331519 1010006 1215097 1010007 1288967 1010008 1306000
CID:            1211924 1010009 1010010 1010011 1010012 1010013 1010014
CID:            1147190 1010017 1010016 1010018 1216435 1010020 1010021
CID:            1010022 1009666 1018185 1010023 1010025 1010026 1010027
CID:            1010028 1010029 1010030 1010031 1010033 1018186 1018187
CID:            1010035 1010036 1010042 1010041 1010040 1010039
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r295276: Add defines for WRITE_UNCORRECTABLE ATA command, and improve</title>
<updated>2016-03-06T02:33:02+00:00</updated>
<author>
<name>Ravi Pokala</name>
<email>rpokala@FreeBSD.org</email>
</author>
<published>2016-03-06T02:33:02+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1e501dc49d7325263486e5ea89ed84c567c31fc0'/>
<id>1e501dc49d7325263486e5ea89ed84c567c31fc0</id>
<content type='text'>
command logging

Add #defines for ATA_WRITE_UNCORRECTABLE48 and its features. Update the
decoding in ATACAM to recognize the new values. Also improve command
decoding for a few other commands (SMART, NOP, SET_FEATURES). Bring the
decoding in ata(4) up to parity with ATACAM.

Sponsored by:	Panasas, Inc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
command logging

Add #defines for ATA_WRITE_UNCORRECTABLE48 and its features. Update the
decoding in ATACAM to recognize the new values. Also improve command
decoding for a few other commands (SMART, NOP, SET_FEATURES). Bring the
decoding in ata(4) up to parity with ATACAM.

Sponsored by:	Panasas, Inc.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r290855: Increase reset assertion time from 10 to 100us.</title>
<updated>2015-11-29T17:14:05+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-11-29T17:14:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=722411f931fbbe423b77aa0678e1685307400719'/>
<id>722411f931fbbe423b77aa0678e1685307400719</id>
<content type='text'>
On my own tests I see no effect from this change, but I also can't
reproduce the reported problem in general.

PR:		127391
PR:		204554
Submitted by:	satz@iranger.com
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On my own tests I see no effect from this change, but I also can't
reproduce the reported problem in general.

PR:		127391
PR:		204554
Submitted by:	satz@iranger.com
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r286814, r286816: Remove UMA allocation of ATA requests.</title>
<updated>2015-08-29T10:52:16+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-08-29T10:52:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4b089c8c51f2e46bba3635ca9f7e9062222a4e0a'/>
<id>4b089c8c51f2e46bba3635ca9f7e9062222a4e0a</id>
<content type='text'>
After CAM replaced old ATA stack, this driver processes no more then one
request at a time per channel.  Using UMA after that is overkill, so
replace it with simple preallocation of one request per channel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After CAM replaced old ATA stack, this driver processes no more then one
request at a time per channel.  Using UMA after that is overkill, so
replace it with simple preallocation of one request per channel.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r286448: Disable 32-bit PIO for 6Gbit/s Intel SATA controllers.</title>
<updated>2015-08-22T07:45:49+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-08-22T07:45:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=322ecb216e340c0ba736465e050d35d36b84b584'/>
<id>322ecb216e340c0ba736465e050d35d36b84b584</id>
<content type='text'>
For some reason 32-bit PIO writes are not working on 6Gbit/s Intel SATA
ports, while 16/32-bit PIO reads and 16-bit PIO writes are working fine.
3Gbit/s ports on the same controllers have no this problem.

Workaround this by disabling 32-bit PIO for all Intel controllers that may
have 6Gbit/s ports.  It halves PIO performance from 6MB/s to 3MB/s, but
who bother about speed of such rare and slow mode, which is also highly
discouraged by SATA specifications?
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For some reason 32-bit PIO writes are not working on 6Gbit/s Intel SATA
ports, while 16/32-bit PIO reads and 16-bit PIO writes are working fine.
3Gbit/s ports on the same controllers have no this problem.

Workaround this by disabling 32-bit PIO for all Intel controllers that may
have 6Gbit/s ports.  It halves PIO performance from 6MB/s to 3MB/s, but
who bother about speed of such rare and slow mode, which is also highly
discouraged by SATA specifications?
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r280451:</title>
<updated>2015-08-22T07:32:47+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-08-22T07:32:47+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d0ce86f3c8bfeed724929312ee8e4001fee2edb0'/>
<id>d0ce86f3c8bfeed724929312ee8e4001fee2edb0</id>
<content type='text'>
Remove from legacy ata(4) driver support for hardware, supported by newer
and more functional drivers ahci(4), siis(4) and mvs(4).

This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove from legacy ata(4) driver support for hardware, supported by newer
and more functional drivers ahci(4), siis(4) and mvs(4).

This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r280393: Reduce priority of ATA/SATA drivers.</title>
<updated>2015-04-06T08:23:06+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-04-06T08:23:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=9b03dcaca0de9c52b7ad40db799e6f5f2500adb2'/>
<id>9b03dcaca0de9c52b7ad40db799e6f5f2500adb2</id>
<content type='text'>
Legacy ata(4) -&gt; BUS_PROBE_LOW_PRIORITY;  more functional ahci(4), siis(4),
mvs(4) -&gt; BUS_PROBE_DEFAULT;  BUS_PROBE_VENDOR leave for vendor drivers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Legacy ata(4) -&gt; BUS_PROBE_LOW_PRIORITY;  more functional ahci(4), siis(4),
mvs(4) -&gt; BUS_PROBE_DEFAULT;  BUS_PROBE_VENDOR leave for vendor drivers.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r279963: Fix SATA Gen3 speed constants.</title>
<updated>2015-03-20T08:28:11+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-03-20T08:28:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=89ed2fc2d9e8adcb84add353c1ed1a18723c6068'/>
<id>89ed2fc2d9e8adcb84add353c1ed1a18723c6068</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r275101:</title>
<updated>2014-12-03T06:53:49+00:00</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2014-12-03T06:53:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a17b83d4b5cb5e4e684e9debba14886b3c257072'/>
<id>a17b83d4b5cb5e4e684e9debba14886b3c257072</id>
<content type='text'>
Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
</pre>
</div>
</content>
</entry>
</feed>
