Commit 4834f989 authored by Jakob Koschel's avatar Jakob Koschel Committed by Greg Kroah-Hartman
Browse files

char: xillybus: replace usage of found with dedicated list iterator variable

To move the list iterator variable into the list_for_each_entry_*()
macro in the future it should be avoided to use the list iterator
variable after the loop body.

To *never* use the list iterator variable after the loop it was
concluded to use a separate iterator variable instead of a
found boolean [1].

This removes the need to use a found variable and simply checking if
the variable was set, can determine if the break/goto was hit.

Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@mail.gmail.com/


Acked-by: default avatarEli Billauer <eli.billauer@gmail.com>
Signed-off-by: default avatarJakob Koschel <jakobkoschel@gmail.com>
Link: https://lore.kernel.org/r/20220324070939.59297-1-jakobkoschel@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f61c5c83
Loading
Loading
Loading
Loading
+12 −14
Original line number Diff line number Diff line
@@ -174,18 +174,17 @@ void xillybus_cleanup_chrdev(void *private_data,
			     struct device *dev)
{
	int minor;
	struct xilly_unit *unit;
	bool found = false;
	struct xilly_unit *unit = NULL, *iter;

	mutex_lock(&unit_mutex);

	list_for_each_entry(unit, &unit_list, list_entry)
		if (unit->private_data == private_data) {
			found = true;
	list_for_each_entry(iter, &unit_list, list_entry)
		if (iter->private_data == private_data) {
			unit = iter;
			break;
		}

	if (!found) {
	if (!unit) {
		dev_err(dev, "Weird bug: Failed to find unit\n");
		mutex_unlock(&unit_mutex);
		return;
@@ -216,22 +215,21 @@ int xillybus_find_inode(struct inode *inode,
{
	int minor = iminor(inode);
	int major = imajor(inode);
	struct xilly_unit *unit;
	bool found = false;
	struct xilly_unit *unit = NULL, *iter;

	mutex_lock(&unit_mutex);

	list_for_each_entry(unit, &unit_list, list_entry)
		if (unit->major == major &&
		    minor >= unit->lowest_minor &&
		    minor < (unit->lowest_minor + unit->num_nodes)) {
			found = true;
	list_for_each_entry(iter, &unit_list, list_entry)
		if (iter->major == major &&
		    minor >= iter->lowest_minor &&
		    minor < (iter->lowest_minor + iter->num_nodes)) {
			unit = iter;
			break;
		}

	mutex_unlock(&unit_mutex);

	if (!found)
	if (!unit)
		return -ENODEV;

	*private_data = unit->private_data;