Merge tag 'block-5.13-2021-05-09' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / drivers / base / devcoredump.c
index 9243468..8eec0e0 100644 (file)
@@ -202,7 +202,7 @@ static int devcd_match_failing(struct device *dev, const void *failing)
  * NOTE: if two tables allocated with devcd_alloc_sgtable and then chained
  * using the sg_chain function then that function should be called only once
  * on the chained table
- * @table: pointer to sg_table to free
+ * @data: pointer to sg_table to free
  */
 static void devcd_free_sgtable(void *data)
 {
@@ -210,7 +210,7 @@ static void devcd_free_sgtable(void *data)
 }
 
 /**
- * devcd_read_from_table - copy data from sg_table to a given buffer
+ * devcd_read_from_sgtable - copy data from sg_table to a given buffer
  * and return the number of bytes read
  * @buffer: the buffer to copy the data to it
  * @buf_len: the length of the buffer
@@ -292,13 +292,16 @@ void dev_coredumpm(struct device *dev, struct module *owner,
        if (device_add(&devcd->devcd_dev))
                goto put_device;
 
+       /*
+        * These should normally not fail, but there is no problem
+        * continuing without the links, so just warn instead of
+        * failing.
+        */
        if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
-                             "failing_device"))
-               /* nothing - symlink will be missing */;
-
-       if (sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj,
-                             "devcoredump"))
-               /* nothing - symlink will be missing */;
+                             "failing_device") ||
+           sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj,
+                             "devcoredump"))
+               dev_warn(dev, "devcoredump create_link failed\n");
 
        INIT_DELAYED_WORK(&devcd->del_wk, devcd_del);
        schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT);