diff mbox series

USB: serial: ftdi_sio: Add check for create_sysfs_attrs

Message ID 20220902032002.3859368-1-jiasheng@iscas.ac.cn (mailing list archive)
State New, archived
Headers show
Series USB: serial: ftdi_sio: Add check for create_sysfs_attrs | expand

Commit Message

Jiasheng Jiang Sept. 2, 2022, 3:20 a.m. UTC
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@iscas.ac.cn>
---
 drivers/usb/serial/ftdi_sio.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Greg Kroah-Hartman Sept. 2, 2022, 5:24 a.m. UTC | #1
On Fri, Sep 02, 2022 at 11:20:02AM +0800, Jiasheng Jiang wrote:
> 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@iscas.ac.cn>
> ---
>  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;
> +	}

Again, this should be changed to use a default attribute group instead.
Please make that change.

thanks,

greg k-h
diff mbox series

Patch

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) {