diff options
author | nagalakshmi.nandigama@lsi.com <nagalakshmi.nandigama@lsi.com> | 2012-04-17 11:25:04 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-22 11:36:55 -0700 |
commit | 696615b7f9872cf81a840cde982775c521f56ea3 (patch) | |
tree | 3872d3dea740c03121fcad81b23999ab641d14e4 /drivers/scsi | |
parent | b7013d0a16b881481dc25ba4d42c5203bebe5ff1 (diff) | |
download | linux-3.10-696615b7f9872cf81a840cde982775c521f56ea3.tar.gz linux-3.10-696615b7f9872cf81a840cde982775c521f56ea3.tar.bz2 linux-3.10-696615b7f9872cf81a840cde982775c521f56ea3.zip |
SCSI: mpt2sas: Fix unsafe using smp_processor_id() in preemptible
commit a2c658505bf5c75516ee0a79287223e86a2474af upstream.
When CONFIG_DEBUG_PREEMPT is enabled, bug is observed in the smp_processor_id().
This is because smp_processor_id() is not called in preempt safe condition.
To fix this issue, use raw_smp_processor_id instead of smp_processor_id.
Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_base.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.c b/drivers/scsi/mpt2sas/mpt2sas_base.c index 18084788ee3..3f03342b303 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.c +++ b/drivers/scsi/mpt2sas/mpt2sas_base.c @@ -1785,7 +1785,7 @@ static inline void _base_writeq(__u64 b, volatile void __iomem *addr, static inline u8 _base_get_msix_index(struct MPT2SAS_ADAPTER *ioc) { - return ioc->cpu_msix_table[smp_processor_id()]; + return ioc->cpu_msix_table[raw_smp_processor_id()]; } /** |