diff options
Diffstat (limited to 'drivers/char/ipmi')
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 4f560d0bb808..1a8c1ca90557 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -723,8 +723,11 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info, | |||
723 | si_sm_result = smi_info->handlers->event(smi_info->si_sm, 0); | 723 | si_sm_result = smi_info->handlers->event(smi_info->si_sm, 0); |
724 | } | 724 | } |
725 | 725 | ||
726 | /* We prefer handling attn over new messages. */ | 726 | /* |
727 | if (si_sm_result == SI_SM_ATTN) | 727 | * We prefer handling attn over new messages. But don't do |
728 | * this if there is not yet an upper layer to handle anything. | ||
729 | */ | ||
730 | if (likely(smi_info->intf) && si_sm_result == SI_SM_ATTN) | ||
728 | { | 731 | { |
729 | unsigned char msg[2]; | 732 | unsigned char msg[2]; |
730 | 733 | ||