As create_sysfs_attrs() can return error number, it should be better to check the return value and deal with the exception. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/usb/serial/ftdi_sio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index d5a3986dfee7..c28f894430a5 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -2251,7 +2251,11 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port) if (read_latency_timer(port) < 0) priv->latency = 16; write_latency_timer(port); - create_sysfs_attrs(port); + result = create_sysfs_attrs(port); + if (result) { + remove_sysfs_attrs(port); + return result; + } result = ftdi_gpio_init(port); if (result < 0) { -- 2.25.1