aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/pmcraid.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-05-07 04:51:38 -0400
committerIngo Molnar <mingo@elte.hu>2011-05-07 04:51:48 -0400
commit4cb1f43ce8c72ee453c00fcb9f6ee9c4ebd03f98 (patch)
tree15e64f192b54ea01fd640d69eed0cabed2baaaa9 /drivers/scsi/pmcraid.c
parent9de4966a4d218f29c68e96e8e7b4d2840dedec79 (diff)
parent0ee5623f9a6e52df90a78bd21179f8ab370e102e (diff)
Merge commit 'v2.6.39-rc6' into x86/cleanups
Merge reason: move to a (much) newer upstream base. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/scsi/pmcraid.c')
-rw-r--r--drivers/scsi/pmcraid.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c
index bcf858e88c64..7f636b118287 100644
--- a/drivers/scsi/pmcraid.c
+++ b/drivers/scsi/pmcraid.c
@@ -213,7 +213,7 @@ static int pmcraid_slave_alloc(struct scsi_device *scsi_dev)
213 * pmcraid_slave_configure - Configures a SCSI device 213 * pmcraid_slave_configure - Configures a SCSI device
214 * @scsi_dev: scsi device struct 214 * @scsi_dev: scsi device struct
215 * 215 *
216 * This fucntion is executed by SCSI mid layer just after a device is first 216 * This function is executed by SCSI mid layer just after a device is first
217 * scanned (i.e. it has responded to an INQUIRY). For VSET resources, the 217 * scanned (i.e. it has responded to an INQUIRY). For VSET resources, the
218 * timeout value (default 30s) will be over-written to a higher value (60s) 218 * timeout value (default 30s) will be over-written to a higher value (60s)
219 * and max_sectors value will be over-written to 512. It also sets queue depth 219 * and max_sectors value will be over-written to 512. It also sets queue depth
@@ -2122,7 +2122,7 @@ static void pmcraid_fail_outstanding_cmds(struct pmcraid_instance *pinstance)
2122 * 2122 *
2123 * This function executes most of the steps required for IOA reset. This gets 2123 * This function executes most of the steps required for IOA reset. This gets
2124 * called by user threads (modprobe/insmod/rmmod) timer, tasklet and midlayer's 2124 * called by user threads (modprobe/insmod/rmmod) timer, tasklet and midlayer's
2125 * 'eh_' thread. Access to variables used for controling the reset sequence is 2125 * 'eh_' thread. Access to variables used for controlling the reset sequence is
2126 * synchronized using host lock. Various functions called during reset process 2126 * synchronized using host lock. Various functions called during reset process
2127 * would make use of a single command block, pointer to which is also stored in 2127 * would make use of a single command block, pointer to which is also stored in
2128 * adapter instance structure. 2128 * adapter instance structure.
@@ -2994,7 +2994,7 @@ static int pmcraid_abort_complete(struct pmcraid_cmd *cancel_cmd)
2994 2994
2995 /* If the abort task is not timed out we will get a Good completion 2995 /* If the abort task is not timed out we will get a Good completion
2996 * as sense_key, otherwise we may get one the following responses 2996 * as sense_key, otherwise we may get one the following responses
2997 * due to subsquent bus reset or device reset. In case IOASC is 2997 * due to subsequent bus reset or device reset. In case IOASC is
2998 * NR_SYNC_REQUIRED, set sync_reqd flag for the corresponding resource 2998 * NR_SYNC_REQUIRED, set sync_reqd flag for the corresponding resource
2999 */ 2999 */
3000 if (ioasc == PMCRAID_IOASC_UA_BUS_WAS_RESET || 3000 if (ioasc == PMCRAID_IOASC_UA_BUS_WAS_RESET ||
@@ -3814,6 +3814,9 @@ static long pmcraid_ioctl_passthrough(
3814 rc = -EFAULT; 3814 rc = -EFAULT;
3815 goto out_free_buffer; 3815 goto out_free_buffer;
3816 } 3816 }
3817 } else if (request_size < 0) {
3818 rc = -EINVAL;
3819 goto out_free_buffer;
3817 } 3820 }
3818 3821
3819 /* check if we have any additional command parameters */ 3822 /* check if we have any additional command parameters */
@@ -3933,7 +3936,7 @@ static long pmcraid_ioctl_passthrough(
3933 3936
3934 /* if abort task couldn't find the command i.e it got 3937 /* if abort task couldn't find the command i.e it got
3935 * completed prior to aborting, return good completion. 3938 * completed prior to aborting, return good completion.
3936 * if command got aborted succesfully or there was IOA 3939 * if command got aborted successfully or there was IOA
3937 * reset due to abort task itself getting timedout then 3940 * reset due to abort task itself getting timedout then
3938 * return -ETIMEDOUT 3941 * return -ETIMEDOUT
3939 */ 3942 */
@@ -5932,7 +5935,7 @@ static int __devinit pmcraid_probe(
5932 * However, firmware supports 64-bit streaming DMA buffers, whereas 5935 * However, firmware supports 64-bit streaming DMA buffers, whereas
5933 * coherent buffers are to be 32-bit. Since pci_alloc_consistent always 5936 * coherent buffers are to be 32-bit. Since pci_alloc_consistent always
5934 * returns memory within 4GB (if not, change this logic), coherent 5937 * returns memory within 4GB (if not, change this logic), coherent
5935 * buffers are within firmware acceptible address ranges. 5938 * buffers are within firmware acceptable address ranges.
5936 */ 5939 */
5937 if ((sizeof(dma_addr_t) == 4) || 5940 if ((sizeof(dma_addr_t) == 4) ||
5938 pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) 5941 pci_set_dma_mask(pdev, DMA_BIT_MASK(64)))