USB: fix usb_serial_suspend(): buggy code
Am Montag 23 Juli 2007 schrieb Adrian Bunk:
> Commit ec22559e0b
added the following
> function to drivers/usb/serial/usb-serial.c:
>
[..]
>
> The Coverity checker spotted the inconsequent NULL checking for "serial".
>
> Looking at the code it also doesn't seem to have been intended to always
> return 0.
Coverity is right. The check for NULL is wrongly done and the error
return is lost.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
209b3cfd53
Коммит
e31c18804f
|
@ -1077,16 +1077,17 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message)
|
||||||
struct usb_serial_port *port;
|
struct usb_serial_port *port;
|
||||||
int i, r = 0;
|
int i, r = 0;
|
||||||
|
|
||||||
if (serial) {
|
if (!serial) /* device has been disconnected */
|
||||||
for (i = 0; i < serial->num_ports; ++i) {
|
return 0;
|
||||||
port = serial->port[i];
|
|
||||||
if (port)
|
for (i = 0; i < serial->num_ports; ++i) {
|
||||||
kill_traffic(port);
|
port = serial->port[i];
|
||||||
}
|
if (port)
|
||||||
|
kill_traffic(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serial->type->suspend)
|
if (serial->type->suspend)
|
||||||
serial->type->suspend(serial, message);
|
r = serial->type->suspend(serial, message);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче