<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/ieee1394/sbp2.c, branch v2.6.16</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>sbp2: update 36byte inquiry workaround (fix compatibility regression)</title>
<updated>2006-02-23T05:29:31+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2006-02-15T03:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a80614d1adba903a1e5cb22bf14ebc640fc2ba4c'/>
<id>a80614d1adba903a1e5cb22bf14ebc640fc2ba4c</id>
<content type='text'>
Since about Linux 2.6.14, sbp2's inquiry workaround did not work anymore
due to changes in the SCSI layer. Update it to become effective again.
Testing one of the two known affected bridges has shown that skip_ms_page_8
is required as well.

Also, make force_inquiry_hack tunable via /sys/module/sbp2/parameters.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from 99496037c6744fd938ffb8ccfc8fc91762322ff8 commit)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since about Linux 2.6.14, sbp2's inquiry workaround did not work anymore
due to changes in the SCSI layer. Update it to become effective again.
Testing one of the two known affected bridges has shown that skip_ms_page_8
is required as well.

Also, make force_inquiry_hack tunable via /sys/module/sbp2/parameters.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from 99496037c6744fd938ffb8ccfc8fc91762322ff8 commit)
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: variable status FIFO address (fix login timeout)</title>
<updated>2006-02-23T05:28:52+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2006-01-31T05:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=35bdddb83f62978b5fad82a14fbfd78cc3a5a60c'/>
<id>35bdddb83f62978b5fad82a14fbfd78cc3a5a60c</id>
<content type='text'>
Let the ieee1394 core select a suitable 1394 address range for sbp2's
status FIFO instead of using a fixed range. Since the core only selects
addresses which are guaranteed to be out of the "physical range" as per
OHCI 1.1, this patch also fixes an old bug:

OHCI controllers which implement a writeable PhysicalUpperBound register
included sbp2's status FIFO in the physical range. That way sbp2 was
never notified of a succesful login and always failed after timeout.
Affected OHCI host adapters include ALi and Fujitsu controllers.

As another side effect of this patch, the status FIFO is no longer
located in a range for which OHCI chips perform "posted writes". Each
status write now requires a response subaction. But since large data
transfers involve only few status writes, there is no measurable
decrease of I/O throughput. What's more, the status FIFO is now safe
from potential host bus errors. Nevertheless, posted writes could be
re-enabled by extensions to the ARM features of the 1394 stack.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from b2d38cccad4ef80d6b672b8f89aae5fe2907b113 commit)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let the ieee1394 core select a suitable 1394 address range for sbp2's
status FIFO instead of using a fixed range. Since the core only selects
addresses which are guaranteed to be out of the "physical range" as per
OHCI 1.1, this patch also fixes an old bug:

OHCI controllers which implement a writeable PhysicalUpperBound register
included sbp2's status FIFO in the physical range. That way sbp2 was
never notified of a succesful login and always failed after timeout.
Affected OHCI host adapters include ALi and Fujitsu controllers.

As another side effect of this patch, the status FIFO is no longer
located in a range for which OHCI chips perform "posted writes". Each
status write now requires a response subaction. But since large data
transfers involve only few status writes, there is no measurable
decrease of I/O throughput. What's more, the status FIFO is now safe
from potential host bus errors. Nevertheless, posted writes could be
re-enabled by extensions to the ARM features of the 1394 stack.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from b2d38cccad4ef80d6b672b8f89aae5fe2907b113 commit)
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: fix another deadlock after disconnection</title>
<updated>2006-02-23T05:25:08+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2006-01-31T05:13:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bf637ec3ef4159da3dd156ecf6f6987d8c8c5dae'/>
<id>bf637ec3ef4159da3dd156ecf6f6987d8c8c5dae</id>
<content type='text'>
If there were commands enqueued but not completed before an SBP-2 unit
was unplugged (or an attempt to reconnect failed), knodemgrd or any
process which tried to remove the device would sleep uninterruptibly
in blk_execute_rq().  Therefore make sure that all commands are
completed when sbp2 retreats.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from 61daa34c132c5d4ed8630e2c46e9bf2f0c7b3428 commit)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If there were commands enqueued but not completed before an SBP-2 unit
was unplugged (or an attempt to reconnect failed), knodemgrd or any
process which tried to remove the device would sleep uninterruptibly
in blk_execute_rq().  Therefore make sure that all commands are
completed when sbp2 retreats.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
(cherry picked from 61daa34c132c5d4ed8630e2c46e9bf2f0c7b3428 commit)
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] don't mangle INQUIRY if cmddt or evpd bits are set</title>
<updated>2006-02-18T20:54:13+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2006-02-08T19:09:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e30809fde59d591809f00caa1a4c960cca5916af'/>
<id>e30809fde59d591809f00caa1a4c960cca5916af</id>
<content type='text'>
sbp2.c mangles INQUIRY response in a way that only applies to standard
inquiry data (i.e. when both cmddt and evpd bits are 0).  Leave other cases
alone; e.g. when asking for VPD the length of reply is in byte 3, not 4
and byte 4 is the first byte of device serial number.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sbp2.c mangles INQUIRY response in a way that only applies to standard
inquiry data (i.e. when both cmddt and evpd bits are 0).  Leave other cases
alone; e.g. when asking for VPD the length of reply is in byte 3, not 4
and byte 4 is the first byte of device serial number.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: remove duplicate code from sbp2_start_device()</title>
<updated>2005-12-13T16:05:05+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-12-13T16:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eaceec7f6cc5223d0f146086884d67746b8aa81d'/>
<id>eaceec7f6cc5223d0f146086884d67746b8aa81d</id>
<content type='text'>
Use sbp2_remove_device() to free FIFO and ORB DMAs in a failure case.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use sbp2_remove_device() to free FIFO and ORB DMAs in a failure case.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: split sbp2_create_command_orb() for better readability</title>
<updated>2005-12-13T16:05:03+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-12-13T16:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cf8d2c0965b891a5efce8c3a9a07a522e91ddba2'/>
<id>cf8d2c0965b891a5efce8c3a9a07a522e91ddba2</id>
<content type='text'>
sbp2_create_command_orb() code cleanup:
 - add two helper functions to reduce nesting depth
 - omit the return value which was always ignored
 - remove unnecessary declaration from sb2.h

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
sbp2_create_command_orb() code cleanup:
 - add two helper functions to reduce nesting depth
 - omit the return value which was always ignored
 - remove unnecessary declaration from sb2.h

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: did not clean up after scsi_add_device() failed</title>
<updated>2005-12-13T04:03:30+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-12-13T04:03:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dc3edd5412341b02d84144ddfd5bf6ccaaeeb1ac'/>
<id>dc3edd5412341b02d84144ddfd5bf6ccaaeeb1ac</id>
<content type='text'>
If scsi_add_device() at the end of sbp2_start_device() fails, e.g. due to
transport errors during SCSI inquiry, sbp2 needs to log out of the device
and release all associated resources.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If scsi_add_device() at the end of sbp2_start_device() fails, e.g. due to
transport errors during SCSI inquiry, sbp2 needs to log out of the device
and release all associated resources.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: delete sbp2scsi_direction_table</title>
<updated>2005-12-13T04:03:24+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-12-13T04:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=43863eba763e0c91e33e342ce5b7650fea594a53'/>
<id>43863eba763e0c91e33e342ce5b7650fea594a53</id>
<content type='text'>
DMA_BIDIRECTIONAL data direction may be handled properly by Linux in the
future.  For now, reject it instead to convert it to another direction.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DMA_BIDIRECTIONAL data direction may be handled properly by Linux in the
future.  For now, reject it instead to convert it to another direction.

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sbp2: slimmer interface to scsi_mod</title>
<updated>2005-11-20T02:35:22+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-11-20T02:35:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=977545e35289b13981614a57fd6c9b82d55e3b4a'/>
<id>977545e35289b13981614a57fd6c9b82d55e3b4a</id>
<content type='text'>
- sbp2scsi_reset does not need to take host_lock
- sbp2scsi_reset, as our device reset handler, does not need to stand in as
  bus reset or host reset handler
- let scsi_mod use scsi_host_template.name instead of .info
  (sbp2 is not an emulation anway)

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- sbp2scsi_reset does not need to take host_lock
- sbp2scsi_reset, as our device reset handler, does not need to stand in as
  bus reset or host reset handler
- let scsi_mod use scsi_host_template.name instead of .info
  (sbp2 is not an emulation anway)

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kmalloc/kzalloc changes:</title>
<updated>2005-11-07T11:31:45+00:00</updated>
<author>
<name>Stefan Richter</name>
<email>stefanr@s5r6.in-berlin.de</email>
</author>
<published>2005-11-07T11:31:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8551158abc8ef45a7f473a87e69624d05ebfd684'/>
<id>8551158abc8ef45a7f473a87e69624d05ebfd684</id>
<content type='text'>
dv1394, eth1394, ieee1394, ohci1394, pcilynx, raw1394, sbp2c, video1394:
 - use kzalloc
 - provide safer size arguments to kmalloc and kzalloc
 - omit some casts

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
dv1394, eth1394, ieee1394, ohci1394, pcilynx, raw1394, sbp2c, video1394:
 - use kzalloc
 - provide safer size arguments to kmalloc and kzalloc
 - omit some casts

Signed-off-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Jody McIntyre &lt;scjody@modernduck.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
