Browse Source

USB: serial: fix stringify operator in usb-serial-simple

usb-serial-simple uses an unknown stringify macro that make
all drivers being named "stringify(vendor)".

This can be a problem when two drivers have the same (wrong) name:

    kernel: usbcore: registered new interface driver usb_serial_simple
    kernel: usbserial: USB Serial support registered for stringify(vendor)
    kernel Error: Driver 'stringify(vendor)' is already registered, aborting...
    kernel: usbserial: problem -16 when registering driver stringify(vendor)
    kernel: usbserial: USB Serial deregistering driver stringify(vendor)
    kernel: usbcore: deregistering interface driver usb_serial_simple

Before the fix:

    $ strings drivers/usb/serial/usb-serial-simple.o
    usb_serial_simple
    stringify(vendor)

After the fix:

    $ strings drivers/usb/serial/usb-serial-simple.o
    usb_serial_simple
    funsoft
    flashloader
    vivopay
    moto_modem
    hp4x
    suunto
    siemens_mpi

This patch makes usb-serial-simple use the correct stringify operator.

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Yann Droneaud 12 years ago
parent
commit
68c91d377c
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/usb/serial/usb-serial-simple.c

+ 1 - 1
drivers/usb/serial/usb-serial-simple.c

@@ -29,7 +29,7 @@ static const struct usb_device_id vendor##_id_table[] = {	\
 static struct usb_serial_driver vendor##_device = {		\
 	.driver = {						\
 		.owner =	THIS_MODULE,			\
-		.name =		"stringify(vendor)",		\
+		.name =		#vendor,			\
 	},							\
 	.id_table =		vendor##_id_table,		\
 	.num_ports =		1,				\