diff options
Diffstat (limited to 'drivers/of/module.c')
-rw-r--r-- | drivers/of/module.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/of/module.c b/drivers/of/module.c index 780fd82a7e..f58e624953 100644 --- a/drivers/of/module.c +++ b/drivers/of/module.c @@ -29,15 +29,14 @@ ssize_t of_modalias(const struct device_node *np, char *str, ssize_t len) csize = snprintf(str, len, "of:N%pOFn%c%s", np, 'T', of_node_get_device_type(np)); tsize = csize; - if (csize >= len) - csize = len > 0 ? len - 1 : 0; len -= csize; - str += csize; + if (str) + str += csize; of_property_for_each_string(np, "compatible", p, compat) { csize = strlen(compat) + 1; tsize += csize; - if (csize >= len) + if (csize > len) continue; csize = snprintf(str, len, "C%s", compat); |