<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/scsi/aacraid/aacraid.h, branch docs-for-linus</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-for-linus</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-for-linus'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2016-04-29T23:08:24+00:00</updated>
<entry>
<title>aacraid: Update driver version</title>
<updated>2016-04-29T23:08:24+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@microsemi.com</email>
</author>
<published>2016-04-26T06:32:44+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=139112fb34db6361082b992d7b5fbb9d223c2c33'/>
<id>urn:sha1:139112fb34db6361082b992d7b5fbb9d223c2c33</id>
<content type='text'>
Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Fix for KDUMP driver hang</title>
<updated>2016-04-29T23:08:24+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@microsemi.com</email>
</author>
<published>2016-04-26T06:32:37+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=78cbccd3bd683c295a44af8050797dc4a41376ff'/>
<id>urn:sha1:78cbccd3bd683c295a44af8050797dc4a41376ff</id>
<content type='text'>
When KDUMP is triggered the driver first talks to the firmware in INTX
mode, but the adapter firmware is still in MSIX mode. Therefore the first
driver command hangs since the driver is waiting for an INTX response and
firmware gives a MSIX response. If when the OS is installed on a RAID
drive created by the adapter KDUMP will hang since the driver does not
receive a response in sync mode.

Fixed by: Change the firmware to INTX mode if it is in MSIX mode before
sending the first sync command.

Cc: stable@vger.kernel.org
Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Log firmware AIF messages</title>
<updated>2016-04-29T23:08:24+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@microsemi.com</email>
</author>
<published>2016-04-26T06:32:09+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9cb62fa24e0d22dbe991c315d6c454a341ea3f76'/>
<id>urn:sha1:9cb62fa24e0d22dbe991c315d6c454a341ea3f76</id>
<content type='text'>
Firmware AIF messages about cache loss and data recovery are being missed
by the driver since currently they are not captured but rather let go.
This patch to capture those messages and log them for the user.

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Fix incorrectly named MACRO</title>
<updated>2016-04-29T23:08:24+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@microsemi.com</email>
</author>
<published>2016-04-26T06:31:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a6cd4549af54ee1ba70a77661499828ea5a2bb3c'/>
<id>urn:sha1:a6cd4549af54ee1ba70a77661499828ea5a2bb3c</id>
<content type='text'>
Suggested-by: Seymour, Shane M &lt;shane.seymour@hpe.com&gt;
Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Update driver version</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:08+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=33f8d1f089f59aecab22056b20e37185b9156a4c'/>
<id>urn:sha1:33f8d1f089f59aecab22056b20e37185b9156a4c</id>
<content type='text'>
Updated diver version to 41052

Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Fix character device re-initialization</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:07+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b9fb54b425e14658959bbc753452aaaf4d11d6fa'/>
<id>urn:sha1:b9fb54b425e14658959bbc753452aaaf4d11d6fa</id>
<content type='text'>
During EEH PCI hotplug activity kernel unloads and loads the driver,
causing character device to be unregistered(aac_remove_one).When the
driver is loaded back using aac_probe_one the character device needs
to be registered again for the AIF management tools to work.

Fixed by adding code to register character device in aac_probe_one if
it is unregistered in aac_remove_one.

Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Shane Seymour &lt;shane.seymour@hpe.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Created new mutex for ioctl path</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>RaghavaAditya.Renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=222a9fb376df0f4aec32493a3fb5d18fa56979f2'/>
<id>urn:sha1:222a9fb376df0f4aec32493a3fb5d18fa56979f2</id>
<content type='text'>
aac_mutex was used to create protect the ioctl path for only the compat
path, it would be make more sense to place mutex in aac_do_ioctl, which
is the main ioctl function call that handles all ioctl commands.

Created new mutex ioctl_mutex in struct aac_dev to protect switch case
in aac_do_ioctl and removed aac_mutex from aac_cfg_ioctl and
aac_compat_do_ioctl

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@pmcs.com&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Added EEH support</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=5c63f7f710bdde6454d304a84146a5338962a509'/>
<id>urn:sha1:5c63f7f710bdde6454d304a84146a5338962a509</id>
<content type='text'>
Added support for PCI EEH (extended error handling).

Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: Fix RRQ overload</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3f4ce057d51a9c0ed9b01ba693df685d230ffcae'/>
<id>urn:sha1:3f4ce057d51a9c0ed9b01ba693df685d230ffcae</id>
<content type='text'>
The driver utilizes an array of atomic variables to keep track of IO
submissions to each vector. To submit an IO multiple threads iterate
through the array to find a vector which has empty slots to send an
IO. The reading and updating of the variable is not atomic, causing race
conditions when a thread uses a full vector to submit an IO.

Fixed by mapping each FIB to a vector, the submission path then uses
said vector to submit IO thereby removing the possibly of a race
condition.The vector assignment is started from 1 since vector 0 is
reserved for the use of AIF management FIBS.If the number of MSIx
vectors is 1 (MSI or INTx mode) then all the fibs are allocated to
vector 0.

Fixes: 495c0217 "aacraid: MSI-x support"
Cc: stable@vger.kernel.org # v4.1

Signed-off-by: Raghava Aditya Renukunta &lt;raghavaaditya.renukunta@pmcs.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
<entry>
<title>aacraid: SCSI blk tag support</title>
<updated>2016-02-24T02:27:02+00:00</updated>
<author>
<name>Raghava Aditya Renukunta</name>
<email>raghavaaditya.renukunta@pmcs.com</email>
</author>
<published>2016-02-03T23:05:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=6bf3b630d0a733b74f7167a1cfac457358e67074'/>
<id>urn:sha1:6bf3b630d0a733b74f7167a1cfac457358e67074</id>
<content type='text'>
The method to allocate and free FIB's in the present code utilizes
spinlocks. Multiple IO's have to wait on the spinlock to acquire or free
fibs creating a performance bottleneck.

An alternative solution would be to use block layer tags to keep track
of the fibs allocated and freed. To this end aac_fib_alloc_tag was
created to utilize the blk layer tags to plug into the Fib pool.These
functions are used exclusively in the IO path. 8 fibs are reserved for
the use of AIF management software and utilize the previous spinlock
based implementations.

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@pmcs.com&gt;
Reviewed-by: Shane Seymour &lt;shane.seymour@hpe.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
</content>
</entry>
</feed>
