On 09/27/12 04:01, Robert Love wrote:
+static ssize_t store_ctlr_enabled(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev);
+ int val;
+ int rc;
+
+ rc = sscanf(buf, "%d", &val);
+ if (!rc)
+ return -EINVAL;
sscanf() expects a '\0'-terminated buffer which is not guaranteed by the
caller of this function (sysfs), isn't it ?
@@ -830,6 +983,18 @@ int __init fcoe_sysfs_setup(void)
if (error)
return error;
+ error = bus_create_file(&fcoe_bus_type, &bus_attr_ctlr_create);
+ if (error) {
+ bus_unregister(&fcoe_bus_type);
+ return error;
+ }
+
+ error = bus_create_file(&fcoe_bus_type, &bus_attr_ctlr_destroy);
+ if (error) {
+ bus_unregister(&fcoe_bus_type);
+ return error;
+ }
+
return 0;
}
It might be a good idea to use fcoe_bus_type.bus_attrs instead of
bus_create_file(). If someone ever would want to trigger these
attributes from udev immediately after an fcoe bus instance has been
created then that approach will avoid a race where udev gets notified
before these attributes got created.
static int fcoe_add_netdev_mapping(struct net_device *netdev,
- struct fcoe_transport *ft)
+ struct fcoe_transport *ft)
Is the above whitespace change necessary ?
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html