hso: Fix URB submission -EINVAL.

Added check for IFF_UP in hso_resume, this should eliminate -EINVAL (-22)
errors caused from urb's being submitted twice, once by hso_resume
& once in hso_net_open, if suspend/resume USB power saving  mode is enabled

Signed-off-by: Denis Joseph Barrow <D.Barow@option.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Denis Joseph Barrow 2008-11-25 00:30:48 -08:00 committed by David S. Miller
parent 4a3e818181
commit 89930b7b5e
1 changed files with 14 additions and 11 deletions

View File

@ -2762,11 +2762,13 @@ static int hso_resume(struct usb_interface *iface)
if (network_table[i] && if (network_table[i] &&
(network_table[i]->interface == iface)) { (network_table[i]->interface == iface)) {
hso_net = dev2net(network_table[i]); hso_net = dev2net(network_table[i]);
/* First transmit any lingering data, then restart the if (hso_net->flags & IFF_UP) {
* device. */ /* First transmit any lingering data,
then restart the device. */
if (hso_net->skb_tx_buf) { if (hso_net->skb_tx_buf) {
dev_dbg(&iface->dev, dev_dbg(&iface->dev,
"Transmitting lingering data\n"); "Transmitting"
" lingering data\n");
hso_net_start_xmit(hso_net->skb_tx_buf, hso_net_start_xmit(hso_net->skb_tx_buf,
hso_net->net); hso_net->net);
hso_net->skb_tx_buf = NULL; hso_net->skb_tx_buf = NULL;
@ -2776,6 +2778,7 @@ static int hso_resume(struct usb_interface *iface)
goto out; goto out;
} }
} }
}
out: out:
return result; return result;