Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 635244c5 authored by Matthias Kaehlcke's avatar Matthias Kaehlcke Committed by Linus Torvalds
Browse files

fix spinlock usage in hysdn_log_close()



Fix incorrect spinlock use in hysdn_log_close().  The function declared a
spinlock on the stack and used it to 'protect' a shared driver structure.

The patch simply removes the useless code.

Signed-off-by: default avatarMatthias Kaehlcke <matthias.kaehlcke@gmail.com>
Cc: Karsten Keil <kkeil@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 13af68ee
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -297,8 +297,6 @@ hysdn_log_close(struct inode *ino, struct file *filep)
	struct procdata *pd;
	hysdn_card *card;
	int retval = 0;
	unsigned long flags;
	spinlock_t hysdn_lock = SPIN_LOCK_UNLOCKED;

	lock_kernel();
	if ((filep->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_WRITE) {
@@ -308,7 +306,6 @@ hysdn_log_close(struct inode *ino, struct file *filep)
		/* read access -> log/debug read, mark one further file as closed */

		pd = NULL;
		spin_lock_irqsave(&hysdn_lock, flags);
		inf = *((struct log_data **) filep->private_data);	/* get first log entry */
		if (inf)
			pd = (struct procdata *) inf->proc_ctrl;	/* still entries there */
@@ -331,7 +328,6 @@ hysdn_log_close(struct inode *ino, struct file *filep)
			inf->usage_cnt--;	/* decrement usage count for buffers */
			inf = inf->next;
		}
		spin_unlock_irqrestore(&hysdn_lock, flags);

		if (pd)
			if (pd->if_used <= 0)	/* delete buffers if last file closed */