|
@@ -222,7 +222,6 @@ struct moschip_port {
|
|
|
__u8 shadowMCR; /* last MCR value received */
|
|
|
char open;
|
|
|
char open_ports;
|
|
|
- char zombie;
|
|
|
wait_queue_head_t wait_chase; /* for handling sleeping while waiting for chase to finish */
|
|
|
wait_queue_head_t delta_msr_wait; /* for handling sleeping while waiting for msr change to happen */
|
|
|
int delta_msr_cond;
|
|
@@ -674,14 +673,7 @@ static void mos7840_interrupt_callback(struct urb *urb)
|
|
|
wreg = MODEM_STATUS_REGISTER;
|
|
|
break;
|
|
|
}
|
|
|
- spin_lock(&mos7840_port->pool_lock);
|
|
|
- if (!mos7840_port->zombie) {
|
|
|
- rv = mos7840_get_reg(mos7840_port, wval, wreg, &Data);
|
|
|
- } else {
|
|
|
- spin_unlock(&mos7840_port->pool_lock);
|
|
|
- return;
|
|
|
- }
|
|
|
- spin_unlock(&mos7840_port->pool_lock);
|
|
|
+ rv = mos7840_get_reg(mos7840_port, wval, wreg, &Data);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2598,9 +2590,6 @@ static void mos7840_disconnect(struct usb_serial *serial)
|
|
|
for (i = 0; i < serial->num_ports; ++i) {
|
|
|
mos7840_port = mos7840_get_port_private(serial->port[i]);
|
|
|
if (mos7840_port) {
|
|
|
- spin_lock_irqsave(&mos7840_port->pool_lock, flags);
|
|
|
- mos7840_port->zombie = 1;
|
|
|
- spin_unlock_irqrestore(&mos7840_port->pool_lock, flags);
|
|
|
usb_kill_urb(mos7840_port->control_urb);
|
|
|
}
|
|
|
}
|