| From b3c0a4dab7e35a9b6d69c0415641d2280fdefb2b Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa@the-dreams.de> |
| Date: Mon, 6 Jun 2016 18:48:38 +0200 |
| Subject: of: fix autoloading due to broken modalias with no 'compatible' |
| |
| From: Wolfram Sang <wsa@the-dreams.de> |
| |
| commit b3c0a4dab7e35a9b6d69c0415641d2280fdefb2b upstream. |
| |
| Because of an improper dereference, a stray 'C' character was output to |
| the modalias when no 'compatible' was specified. This is the case for |
| some old PowerMac drivers which only set the 'name' property. Fix it to |
| let them match again. |
| |
| Reported-by: Mathieu Malaterre <malat@debian.org> |
| Signed-off-by: Wolfram Sang <wsa@the-dreams.de> |
| Tested-by: Mathieu Malaterre <malat@debian.org> |
| Cc: Philipp Zabel <p.zabel@pengutronix.de> |
| Cc: Andreas Schwab <schwab@linux-m68k.org> |
| Fixes: 6543becf26fff6 ("mod/file2alias: make modalias generation safe for cross compiling") |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| scripts/mod/file2alias.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/mod/file2alias.c |
| +++ b/scripts/mod/file2alias.c |
| @@ -695,7 +695,7 @@ static int do_of_entry (const char *file |
| len = sprintf(alias, "of:N%sT%s", (*name)[0] ? *name : "*", |
| (*type)[0] ? *type : "*"); |
| |
| - if (compatible[0]) |
| + if ((*compatible)[0]) |
| sprintf(&alias[len], "%sC%s", (*type)[0] ? "*" : "", |
| *compatible); |
| |