Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 259481
b: refs/heads/master
c: 8735276
h: refs/heads/master
i:
  259479: 9bb1679
v: v3
  • Loading branch information
matt mooney authored and Greg Kroah-Hartman committed Jun 7, 2011
1 parent d9e6574 commit c30d467
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 51 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 00d760b057e0fb1e5fb515071af2cc87d15439f8
refs/heads/master: 87352760173082c2a774f83dc6fe826fdbf219c0
1 change: 1 addition & 0 deletions trunk/drivers/staging/usbip/stub.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ struct stub_unlink {
};

#define BUSID_SIZE 20

struct bus_id_priv {
char name[BUSID_SIZE];
char status;
Expand Down
21 changes: 7 additions & 14 deletions trunk/drivers/staging/usbip/stub_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,11 @@ static void stub_shutdown_connection(struct usbip_device *ud)
if (ud->tcp_tx && !task_is_dead(ud->tcp_tx))
kthread_stop(ud->tcp_tx);

/* 2. close the socket */
/*
* tcp_socket is freed after threads are killed.
* So usbip_xmit do not touch NULL socket.
* 2. close the socket
*
* tcp_socket is freed after threads are killed so that usbip_xmit does
* not touch NULL socket.
*/
if (ud->tcp_socket) {
sock_release(ud->tcp_socket);
Expand All @@ -230,8 +231,8 @@ static void stub_shutdown_connection(struct usbip_device *ud)
list_del(&unlink->list);
kfree(unlink);
}
list_for_each_entry_safe(unlink, tmp,
&sdev->unlink_free, list) {
list_for_each_entry_safe(unlink, tmp, &sdev->unlink_free,
list) {
list_del(&unlink->list);
kfree(unlink);
}
Expand All @@ -258,22 +259,17 @@ static void stub_device_reset(struct usbip_device *ud)

/* try to reset the device */
ret = usb_reset_device(udev);

usb_unlock_device(udev);

spin_lock(&ud->lock);
if (ret) {
dev_err(&udev->dev, "device reset\n");
ud->status = SDEV_ST_ERROR;

} else {
dev_info(&udev->dev, "device reset\n");
ud->status = SDEV_ST_AVAILABLE;

}
spin_unlock(&ud->lock);

return;
}

static void stub_device_unusable(struct usbip_device *ud)
Expand Down Expand Up @@ -375,7 +371,7 @@ static int stub_probe(struct usb_interface *interface,

/* check we should claim or not by busid_table */
busid_priv = get_busid_priv(udev_busid);
if (!busid_priv || (busid_priv->status == STUB_BUSID_REMOV) ||
if (!busid_priv || (busid_priv->status == STUB_BUSID_REMOV) ||
(busid_priv->status == STUB_BUSID_OTHER)) {
dev_info(&interface->dev, "%s is not in match_busid table... "
"skip!\n", udev_busid);
Expand Down Expand Up @@ -420,7 +416,6 @@ static int stub_probe(struct usb_interface *interface,
udev_busid);
usb_set_intfdata(interface, NULL);
busid_priv->interf_count--;

return err;
}

Expand All @@ -443,7 +438,6 @@ static int stub_probe(struct usb_interface *interface,
/* set private data to usb_interface */
usb_set_intfdata(interface, sdev);
busid_priv->interf_count++;

busid_priv->sdev = sdev;

err = stub_add_files(&interface->dev);
Expand All @@ -453,7 +447,6 @@ static int stub_probe(struct usb_interface *interface,
usb_put_intf(interface);

busid_priv->interf_count = 0;

busid_priv->sdev = NULL;
stub_device_free(sdev);
return err;
Expand Down
13 changes: 0 additions & 13 deletions trunk/drivers/staging/usbip/stub_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@
#define DRIVER_AUTHOR "Takahiro Hirofuchi"
#define DRIVER_DESC "USB/IP Host Driver"

/* stub_priv is allocated from stub_priv_cache */
struct kmem_cache *stub_priv_cache;

/*
* busid_tables defines matching busids that usbip can grab. A user can change
* dynamically what device is locally used and what device is exported to a
Expand All @@ -42,15 +40,13 @@ int match_busid(const char *busid)
int i;

spin_lock(&busid_table_lock);

for (i = 0; i < MAX_BUSID; i++)
if (busid_table[i].name[0])
if (!strncmp(busid_table[i].name, busid, BUSID_SIZE)) {
/* already registerd */
spin_unlock(&busid_table_lock);
return 0;
}

spin_unlock(&busid_table_lock);

return 1;
Expand All @@ -61,15 +57,13 @@ struct bus_id_priv *get_busid_priv(const char *busid)
int i;

spin_lock(&busid_table_lock);

for (i = 0; i < MAX_BUSID; i++)
if (busid_table[i].name[0])
if (!strncmp(busid_table[i].name, busid, BUSID_SIZE)) {
/* already registerd */
spin_unlock(&busid_table_lock);
return &(busid_table[i]);
}

spin_unlock(&busid_table_lock);

return NULL;
Expand All @@ -81,15 +75,12 @@ static ssize_t show_match_busid(struct device_driver *drv, char *buf)
char *out = buf;

spin_lock(&busid_table_lock);

for (i = 0; i < MAX_BUSID; i++)
if (busid_table[i].name[0])
out += sprintf(out, "%s ", busid_table[i].name);

spin_unlock(&busid_table_lock);

out += sprintf(out, "\n");

return out - buf;
}

Expand All @@ -101,7 +92,6 @@ static int add_match_busid(char *busid)
return 0;

spin_lock(&busid_table_lock);

for (i = 0; i < MAX_BUSID; i++)
if (!busid_table[i].name[0]) {
strncpy(busid_table[i].name, busid, BUSID_SIZE);
Expand All @@ -111,7 +101,6 @@ static int add_match_busid(char *busid)
spin_unlock(&busid_table_lock);
return 0;
}

spin_unlock(&busid_table_lock);

return -1;
Expand All @@ -122,7 +111,6 @@ int del_match_busid(char *busid)
int i;

spin_lock(&busid_table_lock);

for (i = 0; i < MAX_BUSID; i++)
if (!strncmp(busid_table[i].name, busid, BUSID_SIZE)) {
/* found */
Expand All @@ -135,7 +123,6 @@ int del_match_busid(char *busid)
spin_unlock(&busid_table_lock);
return 0;
}

spin_unlock(&busid_table_lock);

return -1;
Expand Down
13 changes: 6 additions & 7 deletions trunk/drivers/staging/usbip/stub_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,12 @@ void stub_complete(struct urb *urb)

/* link a urb to the queue of tx. */
spin_lock_irqsave(&sdev->priv_lock, flags);

if (priv->unlinking) {
stub_enqueue_ret_unlink(sdev, priv->seqnum, urb->status);
stub_free_priv_and_urb(priv);
} else
} else {
list_move_tail(&priv->list, &sdev->priv_tx);

}
spin_unlock_irqrestore(&sdev->priv_lock, flags);

/* wake up tx_thread */
Expand All @@ -113,10 +112,10 @@ void stub_complete(struct urb *urb)
static inline void setup_base_pdu(struct usbip_header_basic *base,
__u32 command, __u32 seqnum)
{
base->command = command;
base->seqnum = seqnum;
base->devid = 0;
base->ep = 0;
base->command = command;
base->seqnum = seqnum;
base->devid = 0;
base->ep = 0;
base->direction = 0;
}

Expand Down
13 changes: 6 additions & 7 deletions trunk/drivers/staging/usbip/usbip_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ static void usbip_dump_buffer(char *buff, int bufflen)
static void usbip_dump_pipe(unsigned int p)
{
unsigned char type = usb_pipetype(p);
unsigned char ep = usb_pipeendpoint(p);
unsigned char dev = usb_pipedevice(p);
unsigned char dir = usb_pipein(p);
unsigned char ep = usb_pipeendpoint(p);
unsigned char dev = usb_pipedevice(p);
unsigned char dir = usb_pipein(p);

pr_debug("dev(%d) ep(%d) [%s] ", dev, ep, dir ? "IN" : "OUT");

Expand Down Expand Up @@ -334,8 +334,8 @@ void usbip_dump_header(struct usbip_header *pdu)
EXPORT_SYMBOL_GPL(usbip_dump_header);

/* Send/receive messages over TCP/IP. I refer drivers/block/nbd.c */
int usbip_xmit(int send, struct socket *sock, char *buf,
int size, int msg_flags)
int usbip_xmit(int send, struct socket *sock, char *buf, int size,
int msg_flags)
{
int result;
struct msghdr msg;
Expand Down Expand Up @@ -628,8 +628,7 @@ void usbip_header_correct_endian(struct usbip_header *pdu, int send)
EXPORT_SYMBOL_GPL(usbip_header_correct_endian);

static void usbip_iso_pakcet_correct_endian(
struct usbip_iso_packet_descriptor *iso,
int send)
struct usbip_iso_packet_descriptor *iso, int send)
{
/* does not need all members. but copy all simply. */
if (send) {
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/staging/usbip/usbip_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ enum {
#define usbip_dbg_flag_vhci_tx (usbip_debug_flag & usbip_debug_vhci_tx)
#define usbip_dbg_flag_stub_rx (usbip_debug_flag & usbip_debug_stub_rx)
#define usbip_dbg_flag_stub_tx (usbip_debug_flag & usbip_debug_stub_tx)
#define usbip_dbg_flag_vhci_sysfs (usbip_debug_flag & usbip_debug_vhci_sysfs)
#define usbip_dbg_flag_vhci_sysfs (usbip_debug_flag & usbip_debug_vhci_sysfs)

extern unsigned long usbip_debug_flag;
extern struct device_attribute dev_attr_usbip_debug;
Expand Down
9 changes: 3 additions & 6 deletions trunk/drivers/staging/usbip/vhci_hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -344,9 +344,9 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
* */
if (dum->resuming && time_after(jiffies, dum->re_timeout)) {
dum->port_status[rhport] |=
(1 << USB_PORT_FEAT_C_SUSPEND);
(1 << USB_PORT_FEAT_C_SUSPEND);
dum->port_status[rhport] &=
~(1 << USB_PORT_FEAT_SUSPEND);
~(1 << USB_PORT_FEAT_SUSPEND);
dum->resuming = 0;
dum->re_timeout = 0;
/* if (dum->driver && dum->driver->resume) {
Expand Down Expand Up @@ -639,9 +639,7 @@ static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb,
usb_hcd_unlink_urb_from_ep(hcd, urb);
no_need_unlink:
spin_unlock_irqrestore(&the_controller->lock, flags);

usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb, urb->status);

return ret;
}

Expand Down Expand Up @@ -1033,9 +1031,8 @@ static int vhci_bus_resume(struct usb_hcd *hcd)
hcd->state = HC_STATE_RUNNING;
}
spin_unlock_irq(&vhci->lock);
return rc;

return 0;
return rc;
}

#else
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/staging/usbip/vhci_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,6 @@ static void vhci_recv_ret_unlink(struct vhci_device *vdev,
}

kfree(unlink);

return;
}

static int vhci_priv_tx_empty(struct vhci_device *vdev)
Expand Down

0 comments on commit c30d467

Please sign in to comment.