<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/drivers/scsi/aacraid, branch v3.6</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v3.6</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v3.6'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2012-07-20T07:59:04Z</updated>
<entry>
<title>[SCSI] aacraid: Series 7 Async. (performance) mode support</title>
<updated>2012-07-20T07:59:04Z</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh_Rajashekhara@pmc-sierra.com</email>
</author>
<published>2012-07-14T12:48:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=85d22bbf6787c240921539bba224eb221bfb8ee1'/>
<id>urn:sha1:85d22bbf6787c240921539bba224eb221bfb8ee1</id>
<content type='text'>
- Series 7 Async. (performance) mode support added
- New scatter/gather list format for Series 7
- Driver converts s/g list to a firmware suitable list for best performance on
  Series 7, this can be disabled with driver parameter "aac_convert_sgl" for
  testing purposes
- New container read/write command structure for Series 7
- Fast response support for the SCSI pass-through path added
- Async. status response buffer changes

Signed-off-by: Mahesh Rajashekhara &lt;Mahesh_Rajashekhara@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: Fix endian issues in core and SRC portions of driver</title>
<updated>2012-07-20T07:58:44Z</updated>
<author>
<name>Ben Collins</name>
<email>bcollins@ubuntu.com</email>
</author>
<published>2012-06-11T20:14:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b5f1758f221e446c5a2956cf7ffdf62b005f6458'/>
<id>urn:sha1:b5f1758f221e446c5a2956cf7ffdf62b005f6458</id>
<content type='text'>
This may not fix all endian issues in this driver, but it does get the
driver working on PowerPC for a PMC SRC card. So it should at least fix
all the problems in the core and in the SRC support.

[jejb: fix &gt;&gt; 32 breakage reported by Fengguang Wu]
Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Acked-by: Achim Leubner &lt;Achim_Leubner@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: Relax the tight timeout loop on fib commands</title>
<updated>2012-07-20T07:58:44Z</updated>
<author>
<name>Ben Collins</name>
<email>bcollins@ubuntu.com</email>
</author>
<published>2012-06-11T18:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=30002f1c02ada69342443e7ed5ee9118feb89510'/>
<id>urn:sha1:30002f1c02ada69342443e7ed5ee9118feb89510</id>
<content type='text'>
The loop that waited for syncronous fib commands was causing a CPU stall
when a timeout actually occured.

1) Switch to using a more accurate timeout mechanism.
2) Do not pace the loop with udelay(). Use cpu_relax() to allow for
   scheduling to occur.

Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Acked-by: Achim Leubner &lt;Achim_Leubner@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: Better handling of in-flight events on thread stop</title>
<updated>2012-07-20T07:58:43Z</updated>
<author>
<name>Ben Collins</name>
<email>bcollins@ubuntu.com</email>
</author>
<published>2012-06-11T18:16:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=361ee9c3f3839d6cbd306b5bd34292e0848ecfdc'/>
<id>urn:sha1:361ee9c3f3839d6cbd306b5bd34292e0848ecfdc</id>
<content type='text'>
When an error occured that would shut down the driver, some in-flight
events were getting caught up, deadlocking a CPU or two.

Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Acked-by: Achim Leubner &lt;Achim_Leubner@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: Use resource_size_t for IO mem pointers and offsets</title>
<updated>2012-07-20T07:58:43Z</updated>
<author>
<name>Ben Collins</name>
<email>bcollins@ubuntu.com</email>
</author>
<published>2012-06-11T18:05:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=ff08784b41e1ab5da6776411b7a8381fe942f2cc'/>
<id>urn:sha1:ff08784b41e1ab5da6776411b7a8381fe942f2cc</id>
<content type='text'>
This also stops using the "legacy crap" in Scsi_Host (shost-&gt;base is an
unsigned long).

This affected 32-bit systems that have 64-bit resource sizes, causing the
IO address to be truncated.

Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Acked-by: Achim Leubner &lt;Achim_Leubner@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: add an iounmap call to aac_src_ioremap</title>
<updated>2012-04-23T18:28:24Z</updated>
<author>
<name>Tomas Henzl</name>
<email>thenzl@redhat.com</email>
</author>
<published>2012-03-29T15:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=715525057423eeb6308d2c605ae9ec8325e43858'/>
<id>urn:sha1:715525057423eeb6308d2c605ae9ec8325e43858</id>
<content type='text'>
The patch 116046127d1a3bad2853d02781ad9fee33f05e5a "[SCSI] aacraid: Added
Sync.mode to support series 7/8/9 controllers" removed an iounmap call from
aac_src_ioremap. Before that, the iounmap has been called twice with the same
value (dev-&gt;base and dev-&gt;regs.src.bar0) and the iounmap complained about it
(iounmap: bad address ...).

The proper solution is a change the paremeter from bar0 to bar1.
Fix this by adding a an iounmap(dev-&gt;regs.src.bar1) call.

Signed-off-by: Tomas Henzl &lt;thenzl@redhat.com&gt;
Acked-by: Achim Leubner &lt;achim_leubner@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: Added Sync.mode to support series 7/8/9 controllers</title>
<updated>2012-02-19T14:09:01Z</updated>
<author>
<name>Mahesh Rajashekhara</name>
<email>Mahesh_Rajashekhara@pmc-sierra.com</email>
</author>
<published>2012-02-09T06:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=116046127d1a3bad2853d02781ad9fee33f05e5a'/>
<id>urn:sha1:116046127d1a3bad2853d02781ad9fee33f05e5a</id>
<content type='text'>
Added Sync. mode to support Series 7/8/9 controller families: This is a
compatibility mode for all these controller families. The Async. (Performance)
mode can be changed in the future.  First Async. mode version added for Series
7; Controller parameter aac_sync_mode added

Signed-off-by: Mahesh Rajashekhara &lt;aacraid@pmc-sierra.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>drivers/scsi/aacraid/commctrl.c: fix mem leak in aac_send_raw_srb()</title>
<updated>2012-01-08T22:15:21Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2012-01-08T21:44:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=7dd72f5189b257f927cc3b35d98643a5c392f5c3'/>
<id>urn:sha1:7dd72f5189b257f927cc3b35d98643a5c392f5c3</id>
<content type='text'>
We leak in drivers/scsi/aacraid/commctrl.c::aac_send_raw_srb() :

We allocate memory:

	...
	struct user_sgmap* usg;
	usg = kmalloc(actual_fibsize - sizeof(struct aac_srb)
	  + sizeof(struct sgmap), GFP_KERNEL);

and then neglect to free it:

	...
	for (i = 0; i &lt; usg-&gt;count; i++) {
		u64 addr;
		void* p;
		if (usg-&gt;sg[i].count &gt;
		    ((dev-&gt;adapter_info.options &amp;
		     AAC_OPT_NEW_COMM) ?
		      (dev-&gt;scsi_host_ptr-&gt;max_sectors &lt;&lt; 9) :
		      65536)) {
			rcode = -EINVAL;
			goto cleanup;
	... this 'goto' makes 'usg' go out of scope and leak the memory we
	    allocated.

Other exits properly kfree(usg), it's just here it is neglected.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Cc: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] aacraid: controller hangs if kernel uses non-default ASPM policy</title>
<updated>2011-11-11T14:19:01Z</updated>
<author>
<name>Vasily Averin</name>
<email>vvs@parallels.com</email>
</author>
<published>2011-11-11T09:42:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=cf16123c9c8e346ed1dd171295a678d77648d7f8'/>
<id>urn:sha1:cf16123c9c8e346ed1dd171295a678d77648d7f8</id>
<content type='text'>
Aacraid controller can hang on some nodes if kernel uses non-default
(powersave) ASPM policy.  Controller hangs shortly after successful load and
hardware detection. Scsi error handler detects this hang and tries to restart
hardware but it does not help.

Initially it was noticed on RHEL6-based openVZ kernel after backporting
aacraid driver from mainline (RHEL6 kernel with original driver works well)
http://bugzilla.openvz.org/show_bug.cgi?id=2043

This issue happens because default ASPM policy was changed in Red Hat
kernels. Therefore guys from Red Hat have noticed this problem long time ago:
on Fedora 12
 https://bugzilla.redhat.com/show_bug.cgi?id=540478
on Fedora 14
 https://bugzilla.redhat.com/show_bug.cgi?id=679385

In RHEL6 kernel this issue was fixed, ASPM was disabled in aacraid driver. In
kernel changelog I've found that seems it was done by Matthew Garrett: -
[scsi] aacraid: Disable ASPM by default (Matthew Garrett) [599735]

However seems this patch was not submitted to mainline. I've reproduced this
issue on vanilla 3.1.0 kernel booted with "pcie_aspm.policy=powersave" option,
So I believe it makes sense to do it now.

Signed-off-by:	Vasily Averin &lt;vvs@sw.ru&gt;
[mjg: Checking the Windows drivers indicates that they disable ASPM under all 
circumstances, so:]
Acked-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Acked-by: Achim Leubner &lt;Achim_Leubner@pmc-sierra.com&gt;
Cc: stable@kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>scsi: Fix up files implicitly depending on module.h inclusion</title>
<updated>2011-10-31T23:31:24Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-05-27T13:47:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=acf3368ffb75fc4a83726655d697e79646fe4eb3'/>
<id>urn:sha1:acf3368ffb75fc4a83726655d697e79646fe4eb3</id>
<content type='text'>
The module.h header was implicitly present everywhere, so files
with no explicit include of the module infrastructure would build
anyway.  We are now removing the implicit include, and so we need
to call out the module.h file that we need explicitly.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
</feed>
