Showing error 805

User: Jiri Slaby
Error type: Resource Leak
Error type description: The code omits to put the resource to the system for reuse
File location: drivers/usb/serial/ti_usb_3410_5052.c
Line in file: 1195
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2011-11-07 22:40:13 UTC


Source:

1165        struct tty_struct *tty;
1166
1167        dbg("%s", __func__);
1168
1169        switch (status) {
1170        case 0:
1171                break;
1172        case -ECONNRESET:
1173        case -ENOENT:
1174        case -ESHUTDOWN:
1175                dbg("%s - urb shutting down, %d", __func__, status);
1176                tport->tp_tdev->td_urb_error = 1;
1177                wake_up_interruptible(&tport->tp_write_wait);
1178                return;
1179        default:
1180                dev_err(dev, "%s - nonzero urb status, %d\n",
1181                        __func__, status);
1182                tport->tp_tdev->td_urb_error = 1;
1183                wake_up_interruptible(&tport->tp_write_wait);
1184        }
1185
1186        if (status == -EPIPE)
1187                goto exit;
1188
1189        if (status) {
1190                dev_err(dev, "%s - stopping read!\n", __func__);
1191                return;
1192        }
1193
1194        tty = tty_port_tty_get(&port->port);
1195        if (tty && urb->actual_length) {
1196                usb_serial_debug_data(debug, dev, __func__,
1197                        urb->actual_length, urb->transfer_buffer);
1198
1199                if (!tport->tp_is_open)
1200                        dbg("%s - port closed, dropping data", __func__);
1201                else
1202                        ti_recv(&urb->dev->dev, tty,
1203                                                urb->transfer_buffer,
1204                                                urb->actual_length);
1205
Show full sources