<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/message/fusion/mptsas.c, branch v2.6.30.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>[SCSI] mptsas: remove unneeded check</title>
<updated>2009-04-03T14:23:10+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@redhat.com</email>
</author>
<published>2009-04-01T14:00:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d58069adc6f59f48bf96a72e6df68a670ff1b3bc'/>
<id>d58069adc6f59f48bf96a72e6df68a670ff1b3bc</id>
<content type='text'>
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Eric Moore &lt;eric.moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Eric Moore &lt;eric.moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] replace __FUNCTION__ with __func__</title>
<updated>2008-07-27T14:31:49+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-07-04T06:47:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cadbd4a5e36dde7e6c49b587b2c419103c0b7218'/>
<id>cadbd4a5e36dde7e6c49b587b2c419103c0b7218</id>
<content type='text'>
[jejb: fixed up a ton of missed conversions.

 All of you are on notice this has happened, driver trees will now
 need to be rebased]

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: SCSI List &lt;linux-scsi@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[jejb: fixed up a ton of missed conversions.

 All of you are on notice this has happened, driver trees will now
 need to be rebased]

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: SCSI List &lt;linux-scsi@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion : Updated copyright statment with 2008 included</title>
<updated>2008-06-05T14:27:17+00:00</updated>
<author>
<name>Prakash, Sathya</name>
<email>sathya.prakash@lsi.com</email>
</author>
<published>2008-05-20T19:26:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cddc0ab71194a09c0ac359be10a0f1ef976ddc95'/>
<id>cddc0ab71194a09c0ac359be10a0f1ef976ddc95</id>
<content type='text'>
Updating copyright statement to include the year 2008

Signed-off-by: Sathya Prakash &lt;sathya.prakash@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Updating copyright statement to include the year 2008

Signed-off-by: Sathya Prakash &lt;sathya.prakash@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] fusion mpt: fix target missing after resetting external raid</title>
<updated>2008-05-27T15:58:09+00:00</updated>
<author>
<name>Michael Reed</name>
<email>mdr@sgi.com</email>
</author>
<published>2008-03-13T19:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7ba2db5f38955907e46a65c9334d287cd3da32c2'/>
<id>7ba2db5f38955907e46a65c9334d287cd3da32c2</id>
<content type='text'>
Following a hard reset of a SAS raid, one of the raid targets is occasionally
missing.  I tracked this down to a pretty obscure little bug.

The LSI fusion drivers for SAS and Fibre Channel both use their respective
transport layers.  Those transport layers increment the target number
assigned to new targets.

The routine __scsi_scan_target uses the "this_id" element of the Scsi_Host
structure to avoid scanning the scsi host adapter.  Both fusion drivers set
"this_id" from a value returned in a firmware PortFacts response.  For my
particular test case (SAS) the firmware id assigned to the initiator was
173.  After enough raid resets to cause the raid targets to go and come a
sufficient number of times, the id assigned by the transport to a raid
target would match the id assigned by the host adapter to the "this_id"
field, resulting in that target not being scanned.

Fix by not assigning this_id and not checking it in slave_configure. 

Signed-off-by: Michael Reed &lt;mdr@sgi.com&gt;
Acked-by: "Moore, Eric" &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following a hard reset of a SAS raid, one of the raid targets is occasionally
missing.  I tracked this down to a pretty obscure little bug.

The LSI fusion drivers for SAS and Fibre Channel both use their respective
transport layers.  Those transport layers increment the target number
assigned to new targets.

The routine __scsi_scan_target uses the "this_id" element of the Scsi_Host
structure to avoid scanning the scsi host adapter.  Both fusion drivers set
"this_id" from a value returned in a firmware PortFacts response.  For my
particular test case (SAS) the firmware id assigned to the initiator was
173.  After enough raid resets to cause the raid targets to go and come a
sufficient number of times, the id assigned by the transport to a raid
target would match the id assigned by the host adapter to the "this_id"
field, resulting in that target not being scanned.

Fix by not assigning this_id and not checking it in slave_configure. 

Signed-off-by: Michael Reed &lt;mdr@sgi.com&gt;
Acked-by: "Moore, Eric" &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mptsas: do not use ioc-&gt;handle to locate hba portinfo structure</title>
<updated>2008-04-07T17:19:00+00:00</updated>
<author>
<name>Michael Reed</name>
<email>mdr@sgi.com</email>
</author>
<published>2008-03-20T22:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7748369f49d428e558c519ed344d3005d38347b7'/>
<id>7748369f49d428e558c519ed344d3005d38347b7</id>
<content type='text'>
While performing hardware raid reset testing via the raid's client, I
noticed that sometimes, following the reset, that there would be more
raid targets in the lsscsi output than there actually were raid
targets.  I tracked this down to the following issue.

Fusion cannot always find the mptsas_portinfo structure for the hba
because it uses the handle stored in ioc-&gt;handle to locate it.  The
problem is that the firmware can change the handle associated with the
hba when h/w raid is reset (via the raid client).  When this happens,
the driver will allocate another mptsas_portinfo structure and link it
into the chain of said structures.  This ultimately causes confusion
within the driver resulting in targets not being removed when they
should be.

Eric Moore pointed out that the hba's portinfo structure is always the
first structure on the sas_topology list.  This patch modifies
mptsas.c to access the hba's portinfo structure by taking the first
structure on said list.

Signed-off-by: Michael Reed &lt;mdr@sgi.com&gt;
Acked-by: "Moore, Eric" &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While performing hardware raid reset testing via the raid's client, I
noticed that sometimes, following the reset, that there would be more
raid targets in the lsscsi output than there actually were raid
targets.  I tracked this down to the following issue.

Fusion cannot always find the mptsas_portinfo structure for the hba
because it uses the handle stored in ioc-&gt;handle to locate it.  The
problem is that the firmware can change the handle associated with the
hba when h/w raid is reset (via the raid client).  When this happens,
the driver will allocate another mptsas_portinfo structure and link it
into the chain of said structures.  This ultimately causes confusion
within the driver resulting in targets not being removed when they
should be.

Eric Moore pointed out that the hba's portinfo structure is always the
first structure on the sas_topology list.  This patch modifies
mptsas.c to access the hba's portinfo structure by taking the first
structure on said list.

Signed-off-by: Michael Reed &lt;mdr@sgi.com&gt;
Acked-by: "Moore, Eric" &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion: don't oops if NumPhys==0</title>
<updated>2008-03-05T20:57:57+00:00</updated>
<author>
<name>Krzysztof Oledzki</name>
<email>olel@ans.pl</email>
</author>
<published>2008-03-04T22:56:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=51f39eae14b4874618e73281c236e3a1c1572d4d'/>
<id>51f39eae14b4874618e73281c236e3a1c1572d4d</id>
<content type='text'>
Don't oops if NumPhys==0, instead return -ENODEV.
This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=9909

Signed-off-by: Krzysztof Piotr Oledzki &lt;ole@ans.pl&gt;
Acked-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't oops if NumPhys==0, instead return -ENODEV.
This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=9909

Signed-off-by: Krzysztof Piotr Oledzki &lt;ole@ans.pl&gt;
Acked-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion: make mptsas_smp_handler update resid</title>
<updated>2008-01-12T00:29:09+00:00</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2007-12-30T10:34:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=38b3167f75c9508156b974d19692c19b78292e2e'/>
<id>38b3167f75c9508156b974d19692c19b78292e2e</id>
<content type='text'>
This patch fixes mptsas_smp_handler to update both din_resid or
dout_resid on success. bsg can report back the residual.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes mptsas_smp_handler to update both din_resid or
dout_resid on success. bsg can report back the residual.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion: fix up fusion prints using the sdev_printk, dev_printk, and shost_printk API</title>
<updated>2007-10-12T18:52:19+00:00</updated>
<author>
<name>Eric Moore</name>
<email>eric.moore@lsi.com</email>
</author>
<published>2007-09-29T16:17:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c51d0beaaed902ef48ed1f3b1834d37b7ffd55e8'/>
<id>c51d0beaaed902ef48ed1f3b1834d37b7ffd55e8</id>
<content type='text'>
Cleaning up prints that use the xxx_printk API, in that the fusion
preamble "mptbase: iocX" follows the info provided by the print API.
The way its currently coded, the [H:C:T] print in sdev_printk will be
inbetween "mptbase" and "iocX", instead of before.

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cleaning up prints that use the xxx_printk API, in that the fusion
preamble "mptbase: iocX" follows the info provided by the print API.
The way its currently coded, the [H:C:T] print in sdev_printk will be
inbetween "mptbase" and "iocX", instead of before.

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion: lock down ScsiLookup</title>
<updated>2007-10-12T18:52:15+00:00</updated>
<author>
<name>Eric Moore</name>
<email>eric.moore@lsi.com</email>
</author>
<published>2007-09-29T16:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e8206381f5842269691f3164ec0d79b7059bd710'/>
<id>e8206381f5842269691f3164ec0d79b7059bd710</id>
<content type='text'>
ScsiLookup is an array of pending scmd pointers that the scsi lld
maintains. This array is touched from queuecommand, eh threads, and
interrupt context. This array should put under locks, hence this patch
to synchronize its access.  I've added some nice little function
wrappers for this, and moved the ScsiLookup array over to MPT_ADAPTER
struct.

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ScsiLookup is an array of pending scmd pointers that the scsi lld
maintains. This array is touched from queuecommand, eh threads, and
interrupt context. This array should put under locks, hence this patch
to synchronize its access.  I've added some nice little function
wrappers for this, and moved the ScsiLookup array over to MPT_ADAPTER
struct.

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] mpt fusion: Fix sparse warnings</title>
<updated>2007-10-12T18:52:11+00:00</updated>
<author>
<name>Eric Moore</name>
<email>eric.moore@lsi.com</email>
</author>
<published>2007-09-29T16:16:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bc6e089a13a5c0ac36247616baecd6fc77405e7f'/>
<id>bc6e089a13a5c0ac36247616baecd6fc77405e7f</id>
<content type='text'>
List below is output from C=2 sparse compilation, which are fixed with
this patch.

1) mptspi: pg0 is defined in x86 version of include/asm/pgtable.h

2) mptsas: context imbalance in 'mptsas_probe' different lock contexts
   for basic block

3) mptbase: from mpt_attach - cast adds address space to expression

4) mptbase: from mpt_do_upload - request[] is bad constant expression

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
List below is output from C=2 sparse compilation, which are fixed with
this patch.

1) mptspi: pg0 is defined in x86 version of include/asm/pgtable.h

2) mptsas: context imbalance in 'mptsas_probe' different lock contexts
   for basic block

3) mptbase: from mpt_attach - cast adds address space to expression

4) mptbase: from mpt_do_upload - request[] is bad constant expression

Signed-off-by: Eric Moore &lt;Eric.Moore@lsi.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@SteelEye.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
