diff options
author | adam radford <aradford@gmail.com> | 2014-03-10 05:51:45 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2014-03-15 13:19:21 -0400 |
commit | 3d0c24cd9bedf5a0665d60c8219a0a84c05abeb3 (patch) | |
tree | 5fde0aaa09531fe74b2d4eac2bfffc3679e58a2b /drivers/scsi/megaraid | |
parent | c77a9bd8e05d877d9b99b77a14e0062a1c808b6c (diff) |
[SCSI] megaraid_sas: Return leaked MPT frames to MPT frame pool
The following patch for megaraid_sas will return leaked MPT frames from any
polled DCMD's that timeout to the MPT frame pool.
Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas_fusion.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index f77715adf6bd..99b7bffb36fe 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c | |||
@@ -2435,11 +2435,14 @@ int megasas_reset_fusion(struct Scsi_Host *shost) | |||
2435 | instance, | 2435 | instance, |
2436 | cmd_mfi->context.smid | 2436 | cmd_mfi->context.smid |
2437 | -1); | 2437 | -1); |
2438 | if (!req_desc) | 2438 | if (!req_desc) { |
2439 | printk(KERN_WARNING | 2439 | printk(KERN_WARNING |
2440 | "req_desc NULL" | 2440 | "req_desc NULL" |
2441 | "\n"); | 2441 | "\n"); |
2442 | else { | 2442 | /* Return leaked MPT |
2443 | frame */ | ||
2444 | megasas_return_cmd_fusion(instance, cmd_fusion); | ||
2445 | } else { | ||
2443 | instance->instancet-> | 2446 | instance->instancet-> |
2444 | fire_cmd(instance, | 2447 | fire_cmd(instance, |
2445 | req_desc-> | 2448 | req_desc-> |