diff options
Diffstat (limited to 'drivers/s390/char/sclp.c')
-rw-r--r-- | drivers/s390/char/sclp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index 25629b92dec3..2c7a1ee6b041 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c | |||
@@ -29,10 +29,10 @@ static ext_int_info_t ext_int_info_hwc; | |||
29 | /* Lock to protect internal data consistency. */ | 29 | /* Lock to protect internal data consistency. */ |
30 | static DEFINE_SPINLOCK(sclp_lock); | 30 | static DEFINE_SPINLOCK(sclp_lock); |
31 | 31 | ||
32 | /* Mask of events that we can receive from the sclp interface. */ | 32 | /* Mask of events that we can send to the sclp interface. */ |
33 | static sccb_mask_t sclp_receive_mask; | 33 | static sccb_mask_t sclp_receive_mask; |
34 | 34 | ||
35 | /* Mask of events that we can send to the sclp interface. */ | 35 | /* Mask of events that we can receive from the sclp interface. */ |
36 | static sccb_mask_t sclp_send_mask; | 36 | static sccb_mask_t sclp_send_mask; |
37 | 37 | ||
38 | /* List of registered event listeners and senders. */ | 38 | /* List of registered event listeners and senders. */ |
@@ -380,7 +380,7 @@ sclp_interrupt_handler(__u16 code) | |||
380 | } | 380 | } |
381 | sclp_running_state = sclp_running_state_idle; | 381 | sclp_running_state = sclp_running_state_idle; |
382 | } | 382 | } |
383 | if (evbuf_pending && sclp_receive_mask != 0 && | 383 | if (evbuf_pending && |
384 | sclp_activation_state == sclp_activation_state_active) | 384 | sclp_activation_state == sclp_activation_state_active) |
385 | __sclp_queue_read_req(); | 385 | __sclp_queue_read_req(); |
386 | spin_unlock(&sclp_lock); | 386 | spin_unlock(&sclp_lock); |
@@ -459,8 +459,8 @@ sclp_dispatch_state_change(void) | |||
459 | reg = NULL; | 459 | reg = NULL; |
460 | list_for_each(l, &sclp_reg_list) { | 460 | list_for_each(l, &sclp_reg_list) { |
461 | reg = list_entry(l, struct sclp_register, list); | 461 | reg = list_entry(l, struct sclp_register, list); |
462 | receive_mask = reg->receive_mask & sclp_receive_mask; | 462 | receive_mask = reg->send_mask & sclp_receive_mask; |
463 | send_mask = reg->send_mask & sclp_send_mask; | 463 | send_mask = reg->receive_mask & sclp_send_mask; |
464 | if (reg->sclp_receive_mask != receive_mask || | 464 | if (reg->sclp_receive_mask != receive_mask || |
465 | reg->sclp_send_mask != send_mask) { | 465 | reg->sclp_send_mask != send_mask) { |
466 | reg->sclp_receive_mask = receive_mask; | 466 | reg->sclp_receive_mask = receive_mask; |
@@ -615,8 +615,8 @@ struct init_sccb { | |||
615 | u16 mask_length; | 615 | u16 mask_length; |
616 | sccb_mask_t receive_mask; | 616 | sccb_mask_t receive_mask; |
617 | sccb_mask_t send_mask; | 617 | sccb_mask_t send_mask; |
618 | sccb_mask_t sclp_send_mask; | ||
619 | sccb_mask_t sclp_receive_mask; | 618 | sccb_mask_t sclp_receive_mask; |
619 | sccb_mask_t sclp_send_mask; | ||
620 | } __attribute__((packed)); | 620 | } __attribute__((packed)); |
621 | 621 | ||
622 | /* Prepare init mask request. Called while sclp_lock is locked. */ | 622 | /* Prepare init mask request. Called while sclp_lock is locked. */ |