commit b27ac804279fe89da13e133b51fdacb861fd2c27 Author: Finn Thain Date: Mon Nov 17 21:37:45 2008 +0100 [SCSI] mac_esp: fix for quadras with two esp chips On the Quadra 900 and 950 there are two ESP chips sharing one IRQ. Because the shared IRQ is edge-triggered, we must make sure that an IRQ transition from one chip doesn't go unnoticed when the shared IRQ is already active due to the other. This patch prevents interrupts getting lost so that both SCSI busses may be used simultaneously. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 375537e12f600a1d6feb64718a80e104f34356ce Author: Finn Thain Date: Mon Nov 17 21:37:07 2008 +0100 [SCSI] m68k: mac_esp asm fix Fix asm constraints and arguments so as not to transfer an odd byte when there may be more words to transfer. The bug would probably also cause exceptions sometimes by transferring one too many bytes. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 9edf2e5726a5adadac6a8c3d673090a9455d0c09 Author: Anirban Chakraborty Date: Fri Nov 14 13:48:12 2008 -0800 [SCSI] qla2xxx: Code changes for vport bus reset The following patch changes the handling of bus reset when issued from a vport. In the bus reset code, an extra check is made to make sure that the lip reset is not done before resetting the targets if the bus reset came from a vport. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 312efe5efcdb02d604ea37a41d965f32ca276d6a Author: Alan Stern Date: Mon Nov 3 15:56:47 2008 -0500 [SCSI] simplify scsi_io_completion() This patch (as1142b) consolidates a lot of repetitious code in scsi_io_completion(). It also fixes a few comments. Most importantly, however, it clearly distinguishes among the three sorts of retries that can be done when a command fails to complete: Unprepare the request and resubmit it, so that a new command will be created for it. Requeue the request directly so that it will be retried immediately using the same command. Requeue the request so that it will be retried following a short delay. Complete the remainder of the request with an I/O error. [jejb: Updates 1. For several error conditions, we would now print the sense twice in slightly different ways, so unify the location of sense printing. 2. I added more descriptions to actual failure conditions for better debugging 3. according to spec, ABORTED_COMMAND is supposed to be retried (except on DIF failure). Our old behaviour of erroring it looks to be a bug. 4. I'd prefer not to default initialise the action variable because that ensures that every leg of the error handler has an associated action and the compiler will warn if someone later accidentally misses one or removes one. ] Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit bc6ad7bdaf0c49c5e24dc16d138eaa03d37878e4 Author: Brian King Date: Fri Nov 14 13:33:54 2008 -0600 [SCSI] ibmvfc: Driver version 1.0.4 Bump driver version Signed-off-by: Brian King Signed-off-by: James Bottomley commit 9af8967ece0fac24856af6a0a5092a726df4fc1a Author: Brian King Date: Fri Nov 14 13:33:53 2008 -0600 [SCSI] ibmvfc: Handle port login required response The virtual fibre channel stack can return a failure response for a command indicating the port login has been invalidated without sending the client an async event. Add code to handle this response and initiate a PLOGI. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 17f773f8410425d313b027be43e04f870908712a Author: Brian King Date: Fri Nov 14 13:33:52 2008 -0600 [SCSI] ibmvfc: Fix command timeouts due to cached CRQ access The CRQs used by the ibmvfc driver are read and written by both the client and the server. Therefore, we need to mark them volatile so that we do not cache their contents when handling an interrupt. This fixes a problem which can surface as occasional command timeouts. No commands were actually timing out, but due to accessing cached data for the CRQ in the interrupt handler, the interrupt was not processing all command completions as it should. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 156f95f3dbaf96fb0403acfbdf1b29c5c8ac23b8 Author: Brian King Date: Fri Nov 14 13:33:50 2008 -0600 [SCSI] ibmvfc: Fix oops in interrupt handler Fixes an oops that can occur in the interrupt handler if we get a lot of async events. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5305c503980f6aa062f42995f465785c72e75719 Author: Babu Moger Date: Mon Nov 10 16:17:48 2008 -0700 [SCSI] scsi_dh_rdac: Add LSI vendor and product ids in rdac device list [jejb: fixed whitespace damage] Signed-off-by: Babu Moger Signed-off-by: James Bottomley commit 602832170898d10985e7ae27fd7e9d496d98e3a7 Author: Julia Lawall Date: Sun Nov 9 17:55:27 2008 +0100 [SCSI] fusion: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. Signed-off-by: Julia Lawall Acked-by: "Prakash, Sathya" Signed-off-by: James Bottomley commit 1c80b3fd6745927bda7c565cac9308bf5d20dc55 Author: Randy Dunlap Date: Wed Oct 29 22:35:16 2008 -0700 [SCSI] fusion: remove excess kernel-doc notation Remove excess kernel-doc function parameter notation: Warning(drivers/message/fusion/mptbase.c:964): Excess function parameter or struct member 'handle' description in 'mpt_free_msg_frame' Warning(drivers/message/fusion/mptbase.c:5434): Excess function parameter or struct member 'portnum' description in 'mpt_findImVolumes' Warning(drivers/message/fusion/mptbase.c:6949): Excess function parameter or struct member 'mr' description in 'mpt_spi_log_info' Signed-off-by: Randy Dunlap cc: Eric.Moore@lsi.com Signed-off-by: James Bottomley commit e758d3d101ae43e87e76ed8727a9b3d8d7874078 Author: Anirban Chakraborty Date: Mon Nov 10 15:53:20 2008 -0800 [SCSI] qla2xxx: Fix for build warning drivers/scsi/qla2xxx/qla_os.c: In function 'qla2x00_probe_one': drivers/scsi/qla2xxx/qla_os.c:1582: warning: 'mem_only' is used uninitialized in this function Reported-by: Stephen Rothwell Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 07dc2f5440fa79f621814b5f8a4a4eae6991e920 Author: Anirban Chakraborty Date: Thu Nov 6 10:40:51 2008 -0800 [SCSI] qla2xxx: Code changes for qla data structure refactoring Following changes have been made: 1. Outstanding commands are based on a request queue, scsi_qla_host does not maintain it anymore. 2. start_scsi is accessed via isp_ops struct instead of direct invocation. 3. Interrupt registrations are done using response queue instead of device id. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 325e24af534f22c56f365a2e0abac7a47819baad Author: Anirban Chakraborty Date: Thu Nov 6 10:40:19 2008 -0800 [SCSI] qla2xxx: Refactor qla data structures Following changes have been made to the qla2xxx FC driver in preparation for the multi- queue and future SR IOV hardware. 1. scsi_qla_host structure has been changed to contain scsi host specific data only. 2. A new structure, qla_hw_data is created to contain HBA specific hardware data. 3. Request and response IO specific data strucures are created. 4. The global list of fcports for the hba is not maintained anymore, instead a fcport list is construted on per scsi_qla_host. Signed-of-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 4b61a34fb7ae98c7f827a55fc938cf45336b389c Author: Vladislav Bolkhovitin Date: Thu Nov 6 13:57:52 2008 +0300 [SCSI] scsi_error: TASK ABORTED status handling improvement This patch improves handling of TASK ABORTED status by Linux SCSI mid-layer. Currently, command returned with this status considered failed and returned to upper layers. It leads to additional error recovery load on file systems and block layer, which sometimes can cause undesired side effects, like I/O errors and file systems corruptions. See http://lkml.org/lkml/2008/11/1/38, for instance. From other side, TASK ABORTED status is returned by SCSI target if the corresponding command was aborted by another initiator and the target has TAS bit set in the control mode page. So, in the majority of cases commands with TASK ABORTED status should be simply retried. In other cases, maybe_retry path will not retry if no retries are allowed. This patch implement suggestion by James Bottomley from http://marc.info/?l=linux-scsi&m=121932916906009&w=2. Signed-off-by: Vladislav Bolkhovitin Signed-off-by: James Bottomley commit de988d8917f1159aa40f50c20ed7443e11da05a2 Author: Chandra Seetharaman Date: Wed Nov 5 20:06:37 2008 -0800 [SCSI] scsi_dh: Retry mode select in rdac device handler When the mode select sent to the controller fails with the retryable error, it is better to retry the mode_select from the hardware handler itself, instead of propagating the failure to dm-multipath. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit eb8bbc67cba9b0e2d272e2bc2fa30cb20cfc597a Author: Chandra Seetharaman Date: Wed Nov 5 20:05:21 2008 -0800 [SCSI] scsi_dh: Make sure the state of a path is set properly when controller is swapped from passive to active When the controller ownership is changed (from passive to active), check_ownership() doesn't set the state of the device to ACTIVE. Signed-off-by: Chandra Seetharaman Reported-by: "Moger, Babu" Signed-off-by: James Bottomley commit 6c73f6b0b12c306bc7d16464bbb8e1c307e58643 Author: Ilpo Järvinen Date: Thu Oct 30 13:00:57 2008 +0200 [SCSI] scsi_error: fix indentation and braces disagreement - add braces ...and the list of recent breakage goes on and on, this time it's 242f9dcb8ba6f (block: unify request timeout handling) which broke it. Signed-off-by: Ilpo Järvinen Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 3312ad2863a0afe2771ceff5e61b0d378c01c0d3 Author: Ilpo Järvinen Date: Thu Oct 30 12:58:38 2008 +0200 [SCSI] tmscsim: fix indentation and braces disagreement - add braces Lucky winner is 557cc476c04 ([SCSI] tmscsim: Fixup KERN_INFO in printk). Signed-off-by: Ilpo Järvinen Acked-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit ced3aac7a68d23aa75f2120a4767e3d5f0f8c4ac Author: roel kluin Date: Wed Oct 29 14:24:47 2008 -0700 [SCSI] u14-34f: fix scsi_dma_map failure case When unsigned, scsi_dma_map may return -ENOMEM without triggering BUG_ON() Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d18f25ab4067be8e7f8171137fdb4e7ee45d8033 Author: Julia Lawall Date: Wed Oct 29 14:24:40 2008 -0700 [SCSI] esp_scsi: Use DIV_ROUND_UP Use the macro DIV_ROUND_UP and eliminate the variable rounded_up, as suggested by Matthew Wilcox. Signed-off-by: Julia Lawall Cc: David Miller Reviewed-by: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8f4364498ef23bb8a3fb6d6666ae482d24a4804f Author: Brian King Date: Wed Oct 29 08:46:49 2008 -0500 [SCSI] ibmvfc: Driver version 1.0.3 Bump driver version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit fe974516013c94d67914ad00880928f5a817d297 Author: Brian King Date: Wed Oct 29 08:46:47 2008 -0500 [SCSI] ibmvfc: Quiet gcc warning in ibmvfc_reset_device Stops gcc from complaining about a possible uninitialized variable being used in ibmvfc_reset_device. Signed-off-by: Brian King Signed-off-by: James Bottomley commit c6090dc11045eda44e53445628dfb12fa9318783 Author: Brian King Date: Wed Oct 29 08:46:45 2008 -0500 [SCSI] ibmvfc: Fix target initialization failure retry handling If the ibmvfc driver is in discovery attempting to log into a target and it encounters an error, the command may get retried one or more times, depending on the error received. If the retries are unsuccessful such that the discovery thread gives up on discovery to that target, the target ends up in a state where, if SCSI core had previously known about the device, the host will get unblocked but the host will not be logged into the target, causing any commands sent to the target to fail. This patch fixes this so that if this occurs, the target is deleted such that the normal dev_loss processing can occur instead. Signed-off-by: Brian King Signed-off-by: James Bottomley commit be128ec7163b95ed8e24b9e341601ce67f819c67 Author: Brian King Date: Wed Oct 29 08:46:41 2008 -0500 [SCSI] ibmvfc: Error handling fixes Due to an ambiguity in the VIOS VFC interface specification, abort/cancel handling is not done correctly and can result in double completion of commands. In order to cancel all outstanding commands to a device, a cancel must be sent, followed by an abort task set. After the responses are received for these commands, there may still be commands outstanding, in the process of getting flushed back, in which case, we need to wait for them. This patch removes the assumption that if the abort and the cancel both complete successfully that the device queue has been flushed and waits for all the responses to come back. Signed-off-by: Brian King Signed-off-by: James Bottomley commit edeec8596e41f509f8ed83913f863b368260510a Author: Brian King Date: Wed Oct 29 08:46:36 2008 -0500 [SCSI] ibmvfc: Fix error reporting for some FC errors If either a "transport fault" or a "general transport" error is received and no other error information is available, the command is improperly returned as successful. Fix this to return DID_ERROR in this case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5d8a7aa52903784496ee4ace0aed0e706595037f Author: Brian King Date: Wed Oct 29 08:46:33 2008 -0500 [SCSI] ibmvfc: Fix log level filtering The ibmvfc log level filtering logic was reversed. The log_level scsi host parameter should result in more verbose logs when log_level is larger, not smaller. Signed-off-by: Brian King Signed-off-by: James Bottomley commit a3f211a3603f95c0920a2985659eb2a05d84050f Author: Alan Cox Date: Mon Oct 27 15:16:36 2008 +0000 [SCSI] Clean up my email address and use a single standard address for everything Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit fa5f505f15e96cc2e2812a4f94d4a6390ce88177 Author: FUJITA Tomonori Date: Thu Oct 23 17:36:08 2008 +0900 [SCSI] aacraid: check pci_alloc_consistent errors We need to check the address that pci_alloc_consistent() returns since it might fail. When pci_alloc_consistent() fails, some IOMMUs set the dma_handle argument to zero. So we can't use fibptr->hw_fib_pa directly here. Signed-off-by: FUJITA Tomonori Cc: Aacraid List Signed-off-by: James Bottomley commit ec645d0a2fe16158c1baa515108572b6ce3b43ca Author: Arjan van de Ven Date: Sun Sep 28 16:18:02 2008 -0700 [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() Use the newly introduced pci_ioremap_bar() function in drivers/scsi. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven Acked-by: Matthew Wilcox Cc: Brian King Cc: Ed Lin Cc: Nick Cheng Signed-off-by: James Bottomley commit 795310e53e030380d49b6bbb25527beed689f670 Author: Randy Dunlap Date: Wed Oct 22 16:37:13 2008 -0700 [SCSI] scsi ioctl: fix kernel-doc warning Fix kernel-doc parameter warning and correct the function name: Warning(linux-next-20081022//drivers/scsi/scsi_ioctl.c:281): No description found for parameter 'ndelay' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley