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

Commit 7029064d authored by Tobin C. Harding's avatar Tobin C. Harding Committed by Greg Kroah-Hartman
Browse files

staging: dgnc: audit goto's in dgnc_mgmt



TODO file requests fix up of error handling.

Audit dgnc_mgmt.c and fix all return paths to be uniform and inline
with kernel coding style.

Signed-off-by: default avatarTobin C. Harding <me@tobin.cc>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c8863b3f
Loading
Loading
Loading
Loading
+20 −17
Original line number Diff line number Diff line
@@ -42,25 +42,25 @@ int dgnc_mgmt_open(struct inode *inode, struct file *file)
{
	unsigned long flags;
	unsigned int minor = iminor(inode);
	int rc = 0;

	spin_lock_irqsave(&dgnc_global_lock, flags);

	/* mgmt device */
	if (minor < MAXMGMTDEVICES) {
	if (minor >= MAXMGMTDEVICES) {
		rc = -ENXIO;
		goto out;
	}
	/* Only allow 1 open at a time on mgmt device */
	if (dgnc_mgmt_in_use[minor]) {
			spin_unlock_irqrestore(&dgnc_global_lock, flags);
			return -EBUSY;
		rc = -EBUSY;
		goto out;
	}
	dgnc_mgmt_in_use[minor]++;
	} else {
		spin_unlock_irqrestore(&dgnc_global_lock, flags);
		return -ENXIO;
	}

out:
	spin_unlock_irqrestore(&dgnc_global_lock, flags);

	return 0;
	return rc;
}

/*
@@ -72,17 +72,20 @@ int dgnc_mgmt_close(struct inode *inode, struct file *file)
{
	unsigned long flags;
	unsigned int minor = iminor(inode);
	int rc = 0;

	spin_lock_irqsave(&dgnc_global_lock, flags);

	/* mgmt device */
	if (minor < MAXMGMTDEVICES) {
		if (dgnc_mgmt_in_use[minor])
			dgnc_mgmt_in_use[minor] = 0;
	if (minor >= MAXMGMTDEVICES) {
		rc = -ENXIO;
		goto out;
	}
	spin_unlock_irqrestore(&dgnc_global_lock, flags);
	dgnc_mgmt_in_use[minor] = 0;

	return 0;
out:
	spin_unlock_irqrestore(&dgnc_global_lock, flags);
	return rc;
}

/*