diff options
Diffstat (limited to 'arch/powerpc/platforms')
| -rw-r--r-- | arch/powerpc/platforms/iseries/lpevents.c | 17 | ||||
| -rw-r--r-- | arch/powerpc/platforms/ps3/Kconfig | 2 |
2 files changed, 16 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/iseries/lpevents.c b/arch/powerpc/platforms/iseries/lpevents.c index 02c142227b51..e5b40e3e0082 100644 --- a/arch/powerpc/platforms/iseries/lpevents.c +++ b/arch/powerpc/platforms/iseries/lpevents.c | |||
| @@ -121,6 +121,7 @@ void process_hvlpevents(void) | |||
| 121 | { | 121 | { |
| 122 | struct HvLpEvent * event; | 122 | struct HvLpEvent * event; |
| 123 | 123 | ||
| 124 | restart: | ||
| 124 | /* If we have recursed, just return */ | 125 | /* If we have recursed, just return */ |
| 125 | if (!spin_trylock(&hvlpevent_queue.hq_lock)) | 126 | if (!spin_trylock(&hvlpevent_queue.hq_lock)) |
| 126 | return; | 127 | return; |
| @@ -146,8 +147,20 @@ void process_hvlpevents(void) | |||
| 146 | if (event->xType < HvLpEvent_Type_NumTypes && | 147 | if (event->xType < HvLpEvent_Type_NumTypes && |
| 147 | lpEventHandler[event->xType]) | 148 | lpEventHandler[event->xType]) |
| 148 | lpEventHandler[event->xType](event); | 149 | lpEventHandler[event->xType](event); |
| 149 | else | 150 | else { |
| 150 | printk(KERN_INFO "Unexpected Lp Event type=%d\n", event->xType ); | 151 | u8 type = event->xType; |
| 152 | |||
| 153 | /* | ||
| 154 | * Don't printk in the spinlock as printk | ||
| 155 | * may require ack events form the HV to send | ||
| 156 | * any characters there. | ||
| 157 | */ | ||
| 158 | hvlpevent_clear_valid(event); | ||
| 159 | spin_unlock(&hvlpevent_queue.hq_lock); | ||
| 160 | printk(KERN_INFO | ||
| 161 | "Unexpected Lp Event type=%d\n", type); | ||
| 162 | goto restart; | ||
| 163 | } | ||
| 151 | 164 | ||
| 152 | hvlpevent_clear_valid(event); | 165 | hvlpevent_clear_valid(event); |
| 153 | } else if (hvlpevent_queue.hq_overflow_pending) | 166 | } else if (hvlpevent_queue.hq_overflow_pending) |
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig index 67144d1d1405..298f1c9679fb 100644 --- a/arch/powerpc/platforms/ps3/Kconfig +++ b/arch/powerpc/platforms/ps3/Kconfig | |||
| @@ -91,7 +91,7 @@ config PS3_SYS_MANAGER | |||
| 91 | depends on PPC_PS3 | 91 | depends on PPC_PS3 |
| 92 | tristate "PS3 System Manager driver" if PS3_ADVANCED | 92 | tristate "PS3 System Manager driver" if PS3_ADVANCED |
| 93 | select PS3_VUART | 93 | select PS3_VUART |
| 94 | default m | 94 | default y |
| 95 | help | 95 | help |
| 96 | Include support for the PS3 System Manager. | 96 | Include support for the PS3 System Manager. |
| 97 | 97 | ||
