diff options
Diffstat (limited to 'drivers/s390/cio/chsc.c')
-rw-r--r-- | drivers/s390/cio/chsc.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index b6a40c20780d..5de86908b0d0 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c | |||
@@ -766,7 +766,6 @@ chsc_secm(struct channel_subsystem *css, int enable) | |||
766 | if (!secm_area) | 766 | if (!secm_area) |
767 | return -ENOMEM; | 767 | return -ENOMEM; |
768 | 768 | ||
769 | mutex_lock(&css->mutex); | ||
770 | if (enable && !css->cm_enabled) { | 769 | if (enable && !css->cm_enabled) { |
771 | css->cub_addr1 = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); | 770 | css->cub_addr1 = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); |
772 | css->cub_addr2 = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); | 771 | css->cub_addr2 = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); |
@@ -774,7 +773,6 @@ chsc_secm(struct channel_subsystem *css, int enable) | |||
774 | free_page((unsigned long)css->cub_addr1); | 773 | free_page((unsigned long)css->cub_addr1); |
775 | free_page((unsigned long)css->cub_addr2); | 774 | free_page((unsigned long)css->cub_addr2); |
776 | free_page((unsigned long)secm_area); | 775 | free_page((unsigned long)secm_area); |
777 | mutex_unlock(&css->mutex); | ||
778 | return -ENOMEM; | 776 | return -ENOMEM; |
779 | } | 777 | } |
780 | } | 778 | } |
@@ -795,7 +793,6 @@ chsc_secm(struct channel_subsystem *css, int enable) | |||
795 | free_page((unsigned long)css->cub_addr1); | 793 | free_page((unsigned long)css->cub_addr1); |
796 | free_page((unsigned long)css->cub_addr2); | 794 | free_page((unsigned long)css->cub_addr2); |
797 | } | 795 | } |
798 | mutex_unlock(&css->mutex); | ||
799 | free_page((unsigned long)secm_area); | 796 | free_page((unsigned long)secm_area); |
800 | return ret; | 797 | return ret; |
801 | } | 798 | } |