diff options
author | Bogdan Hamciuc <bogdan.hamciuc@freescale.com> | 2013-02-14 08:24:03 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-08 23:23:19 (GMT) |
commit | d3e93d6200701881749d757d480c173930ad19ae (patch) | |
tree | 577b6d1cf953362bc9ef0492602875fa137c135e | |
parent | 5e0b3c3b9fcd5f284c0677ce9cc1bd892fd134f1 (diff) | |
download | linux-fsl-qoriq-d3e93d6200701881749d757d480c173930ad19ae.tar.xz |
dpaa_eth: Hotfix for cpu_printk() in preemptible context
cpu_printk() is called, directly or indirectly, from many contexts, not
all of them preempt-safe. For instance, invoking ethtool on a
non-initialized interface while running PREEMPT_RT with
CONFIG_DEBUG_PREEMPT results in an oops.
Temporarily using raw_smp_processor_id() to address this. In the long
run, will get rid of the custom printing macros altogether.
Change-Id: I6a9db7d19cd84ab5b9613b7abde87e85fe0b73bc
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
(cherry picked from commit dfae81ab1bb804cc335971592242244262bc7b2e)
Reviewed-on: http://git.am.freescale.net:8181/1050
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth-common.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth-common.h b/drivers/net/ethernet/freescale/dpa/dpaa_eth-common.h index eb9c22a..8ea1a3e 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth-common.h +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth-common.h @@ -63,7 +63,7 @@ #endif #define cpu_printk(level, format, arg...) \ - pr_##level("cpu%d: " format, smp_processor_id(), ##arg) + pr_##level("cpu%d: " format, raw_smp_processor_id(), ##arg) #define cpu_pr_emerg(format, arg...) \ cpu_printk(emerg, format, ##arg) |