diff options
Diffstat (limited to 'net/irda/irnet/irnet_ppp.c')
-rw-r--r-- | net/irda/irnet/irnet_ppp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/irda/irnet/irnet_ppp.c b/net/irda/irnet/irnet_ppp.c index e0eab5927c4f..e84a70dd346b 100644 --- a/net/irda/irnet/irnet_ppp.c +++ b/net/irda/irnet/irnet_ppp.c | |||
@@ -479,6 +479,7 @@ dev_irnet_open(struct inode * inode, | |||
479 | ap = kzalloc(sizeof(*ap), GFP_KERNEL); | 479 | ap = kzalloc(sizeof(*ap), GFP_KERNEL); |
480 | DABORT(ap == NULL, -ENOMEM, FS_ERROR, "Can't allocate struct irnet...\n"); | 480 | DABORT(ap == NULL, -ENOMEM, FS_ERROR, "Can't allocate struct irnet...\n"); |
481 | 481 | ||
482 | lock_kernel(); | ||
482 | /* initialize the irnet structure */ | 483 | /* initialize the irnet structure */ |
483 | ap->file = file; | 484 | ap->file = file; |
484 | 485 | ||
@@ -500,6 +501,7 @@ dev_irnet_open(struct inode * inode, | |||
500 | { | 501 | { |
501 | DERROR(FS_ERROR, "Can't setup IrDA link...\n"); | 502 | DERROR(FS_ERROR, "Can't setup IrDA link...\n"); |
502 | kfree(ap); | 503 | kfree(ap); |
504 | unlock_kernel(); | ||
503 | return err; | 505 | return err; |
504 | } | 506 | } |
505 | 507 | ||
@@ -510,6 +512,7 @@ dev_irnet_open(struct inode * inode, | |||
510 | file->private_data = ap; | 512 | file->private_data = ap; |
511 | 513 | ||
512 | DEXIT(FS_TRACE, " - ap=0x%p\n", ap); | 514 | DEXIT(FS_TRACE, " - ap=0x%p\n", ap); |
515 | unlock_kernel(); | ||
513 | return 0; | 516 | return 0; |
514 | } | 517 | } |
515 | 518 | ||