- 18 9月, 2006 2 次提交
-
-
由 Stefan Richter 提交于
Since sbp2 is at the moment unable to do anything with the return value of sbp2_link_orb_command, just discard it. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
-
由 Stefan Richter 提交于
The sbp2 initiator has two ways to tell a target's fetch agent about new command ORBs: - Write the ORB's address to the ORB_POINTER register. This must not be done while the fetch agent is active. - Put the ORB's address into the previously submitted ORB's next_ORB field and write to the DOORBELL register. This may be done while the fetch agent is active or suspended. It must not be done while the fetch agent is in reset state. Sbp2 has a last_orb pointer which indicates in what way a new command should be announced. That pointer is concurrently accessed at various occasions. Furthermore, initiator and target are accessing the next_ORB field of ORBs concurrently and asynchronously. This patch does: - Protect all initiator accesses to last_orb by sbp2_command_orb_lock. - Add pci_dma_sync_single_for_device before a previously submitted ORB's next_ORB field is overwritten. - Insert a memory barrier between when next_ORB_lo and next_ORB_hi are overwritten. Next_ORB_hi must not be updated before next_ORB_lo. - Remove the rather unspecific and now superfluous qualifier "volatile" from the next_ORB fields. - Add comments on how last_orb is connected with what is known about the target's fetch agent's state. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
-
- 13 6月, 2006 2 次提交
-
-
由 Ben Collins 提交于
It seems to have worked without the attribute during all the years just because sizes of all struct members are multiples of 32 bits. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NBen Collins <bcollins@ubuntu.com>
-
由 Ben Collins 提交于
This code became ineffective a few Linux releases ago and is not required anyway. Note from Christoph Hellwig: scsi_cmnd.request_buffer is always a scatterlist these days. Checking random bites into it and then mangling the data in sbp2_check_sbp2_response will cause really bad memory corruption when you're not lucky enough to have the check not trigger by luck. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NBen Collins <bcollins@ubuntu.com>
-
- 18 5月, 2006 3 次提交
-
-
由 Stefan Richter 提交于
In case the blacklist with workarounds for device bugs yields a false positive, the module load parameter can now also be used as an override instead of an addition to the blacklist. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Stefan Richter 提交于
Apple decided to copy some USB stupidity over to FireWire. The sector number returned by iPods from read_capacity is one too many. This may cause I/O errors, especially if the kernel is configured for EFI partition support. We use the same workaround as usb-storage but have to check for different model IDs. http://marc.theaimsgroup.com/?t=114233262300001 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187409 Acknowledgements: Diagnosis and therapy by Mathieu Chouquet-Stringer <ml2news@free.fr>, additional data about affected and unaffected Apple hardware from Vladimir Kotal, Sander De Graaf, Bryan Olmstead and Hugh Dixon. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Stefan Richter 提交于
Grand unification of the three types of workarounds we have so far. The "skip mode page 8" workaround is now limited to devices which pretend to be of TYPE_DISK instead of TYPE_RBC. This workaround is no longer enabled for Initio bridges. Patch update in anticipation of more workarounds: - Add module parameter "workarounds". - Deprecate parameter "force_inquiry_hack". - Compose the blacklist of a compound type for better readability and extensibility. - Remove a now unused #define. Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 23 2月, 2006 1 次提交
-
-
由 Stefan Richter 提交于
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: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com> (cherry picked from b2d38cccad4ef80d6b672b8f89aae5fe2907b113 commit)
-
- 14 12月, 2005 1 次提交
-
-
由 Stefan Richter 提交于
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: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com>
-
- 13 12月, 2005 1 次提交
-
-
由 Stefan Richter 提交于
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: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com>
-
- 07 11月, 2005 3 次提交
-
-
由 Stefan Richter 提交于
sbp2: various code formatting cleanups ohci1394: remove form feed characters Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com>
-
由 Ben Collins 提交于
since we no longer need to worry about it. Depends on patch "ieee1394: remove sbp2's TYPE_RBC and 10byte handling". Signed-off-by: NBen Collins <bcollins@debian.org> Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com>
-
由 Ben Collins 提交于
Added more cleanups to remove unused code. Signed-off-by: NBen Collins <bcollins@debian.org> Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: NJody McIntyre <scjody@modernduck.com>
-
- 26 5月, 2005 1 次提交
-
-
由 Al Viro 提交于
a) TYPE_SDAD renamed to TYPE_RBC and taken to scsi.h b) in sbp2.c remapping of TYPE_RPB to TYPE_DISK turned off c) relevant places in midlayer and sd.c taught to accept TYPE_RBC d) sd.c::sd_read_cache_type() looks into page 6 when dealing with TYPE_RBC - these guys have writeback cache flag there and are not guaranteed to have page 8 at all. e) sd_read_cache_type() got an extra sanity check - it checks that it got the page it asked for before using its contents. And screams if mismatch had happened. Rationale: there are broken devices out there that are "helpful" enough to go for "I don't have a page you've asked for, here, have another one". For example, PL3507 had been caught doing just that... f) sbp2 sets sdev->use_10_for_rw and sdev->use_10_for_ms instead of bothering to remap READ6/WRITE6/MOD_SENSE, so most of the conversions in there are gone now. Incidentally, I wonder if USB storage devices that have no mode page 8 are simply RBC ones. I haven't touched that, but it might be interesting to check... Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 17 4月, 2005 1 次提交
-
-
由 Linus Torvalds 提交于
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
-