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

Commit c7153d06 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'driver-core-3.10-rc2' of...

Merge tag 'driver-core-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull driver core fixes from Greg Kroah-Hartman:
 "Here are 3 tiny driver core fixes for 3.10-rc2.

  A needed symbol export, a change to make it easier to track down
  offending sysfs files with incorrect attributes, and a klist bugfix.

  All have been in linux-next for a while"

* tag 'driver-core-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
  klist: del waiter from klist_remove_waiters before wakeup waitting process
  driver core: print sysfs attribute name when warning about bogus permissions
  driver core: export subsys_virtual_register
parents 5cc0c038 ac5a2962
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1295,6 +1295,7 @@ int subsys_virtual_register(struct bus_type *subsys,

	return subsys_register(subsys, groups, virtual_dir);
}
EXPORT_SYMBOL_GPL(subsys_virtual_register);

int __init buses_init(void)
{
+4 −2
Original line number Diff line number Diff line
@@ -572,9 +572,11 @@ int device_create_file(struct device *dev,

	if (dev) {
		WARN(((attr->attr.mode & S_IWUGO) && !attr->store),
				"Write permission without 'store'\n");
			"Attribute %s: write permission without 'store'\n",
			attr->attr.name);
		WARN(((attr->attr.mode & S_IRUGO) && !attr->show),
				"Read permission without 'show'\n");
			"Attribute %s: read permission without 'show'\n",
			attr->attr.name);
		error = sysfs_create_file(&dev->kobj, &attr->attr);
	}

+1 −1
Original line number Diff line number Diff line
@@ -193,10 +193,10 @@ static void klist_release(struct kref *kref)
		if (waiter->node != n)
			continue;

		list_del(&waiter->list);
		waiter->woken = 1;
		mb();
		wake_up_process(waiter->process);
		list_del(&waiter->list);
	}
	spin_unlock(&klist_remove_lock);
	knode_set_klist(n, NULL);