diff options
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/gigaset/interface.c | 4 | ||||
-rw-r--r-- | drivers/isdn/hardware/mISDN/hfcsusb.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/isdn/gigaset/interface.c b/drivers/isdn/gigaset/interface.c index 59de638225fe..e35058bcd7b9 100644 --- a/drivers/isdn/gigaset/interface.c +++ b/drivers/isdn/gigaset/interface.c | |||
@@ -156,8 +156,10 @@ static int if_open(struct tty_struct *tty, struct file *filp) | |||
156 | if (!cs || !try_module_get(cs->driver->owner)) | 156 | if (!cs || !try_module_get(cs->driver->owner)) |
157 | return -ENODEV; | 157 | return -ENODEV; |
158 | 158 | ||
159 | if (mutex_lock_interruptible(&cs->mutex)) | 159 | if (mutex_lock_interruptible(&cs->mutex)) { |
160 | module_put(cs->driver->owner); | ||
160 | return -ERESTARTSYS; | 161 | return -ERESTARTSYS; |
162 | } | ||
161 | tty->driver_data = cs; | 163 | tty->driver_data = cs; |
162 | 164 | ||
163 | ++cs->open_count; | 165 | ++cs->open_count; |
diff --git a/drivers/isdn/hardware/mISDN/hfcsusb.c b/drivers/isdn/hardware/mISDN/hfcsusb.c index 3ccbff13eaf2..71a8eb6ef71e 100644 --- a/drivers/isdn/hardware/mISDN/hfcsusb.c +++ b/drivers/isdn/hardware/mISDN/hfcsusb.c | |||
@@ -283,6 +283,7 @@ hfcsusb_ph_info(struct hfcsusb *hw) | |||
283 | _queue_data(&dch->dev.D, MPH_INFORMATION_IND, MISDN_ID_ANY, | 283 | _queue_data(&dch->dev.D, MPH_INFORMATION_IND, MISDN_ID_ANY, |
284 | sizeof(struct ph_info_dch) + dch->dev.nrbchan * | 284 | sizeof(struct ph_info_dch) + dch->dev.nrbchan * |
285 | sizeof(struct ph_info_ch), phi, GFP_ATOMIC); | 285 | sizeof(struct ph_info_ch), phi, GFP_ATOMIC); |
286 | kfree(phi); | ||
286 | } | 287 | } |
287 | 288 | ||
288 | /* | 289 | /* |