diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-07-15 21:56:37 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-07-15 21:56:37 +0200 |
commit | 62778396020a29d742abf980c1e83f3df4b5426e (patch) | |
tree | 08dc01019a1afe6ed16ab79c627ecd81caea52e0 /drivers/misc/pti.c | |
parent | 58f45e3c6f4fd2b9b9d7d43af71409a79a4b4cf6 (diff) | |
parent | d3144df5bd8eb1c8137cc92989e2e6bc9f2e5a27 (diff) | |
download | lwn-62778396020a29d742abf980c1e83f3df4b5426e.tar.gz lwn-62778396020a29d742abf980c1e83f3df4b5426e.zip |
Merge branch 'fixes-for-arnd' of git://git.pengutronix.de/git/imx/linux-2.6 into imx/fixes
Diffstat (limited to 'drivers/misc/pti.c')
-rw-r--r-- | drivers/misc/pti.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/misc/pti.c b/drivers/misc/pti.c index bb6f9255c17c..374dfcfccd07 100644 --- a/drivers/misc/pti.c +++ b/drivers/misc/pti.c @@ -317,7 +317,8 @@ EXPORT_SYMBOL_GPL(pti_request_masterchannel); * a master, channel ID address * used to write to PTI HW. * - * @mc: master, channel apeture ID address to be released. + * @mc: master, channel apeture ID address to be released. This + * will de-allocate the structure via kfree(). */ void pti_release_masterchannel(struct pti_masterchannel *mc) { @@ -475,8 +476,10 @@ static int pti_tty_install(struct tty_driver *driver, struct tty_struct *tty) else pti_tty_data->mc = pti_request_masterchannel(2); - if (pti_tty_data->mc == NULL) + if (pti_tty_data->mc == NULL) { + kfree(pti_tty_data); return -ENXIO; + } tty->driver_data = pti_tty_data; } @@ -495,7 +498,7 @@ static void pti_tty_cleanup(struct tty_struct *tty) if (pti_tty_data == NULL) return; pti_release_masterchannel(pti_tty_data->mc); - kfree(tty->driver_data); + kfree(pti_tty_data); tty->driver_data = NULL; } @@ -581,7 +584,7 @@ static int pti_char_open(struct inode *inode, struct file *filp) static int pti_char_release(struct inode *inode, struct file *filp) { pti_release_masterchannel(filp->private_data); - kfree(filp->private_data); + filp->private_data = NULL; return 0; } |