|
@@ -73,27 +73,23 @@ static void hexdump(char *title, u8 *data, int len)
|
|
|
|
|
|
static struct usb_tx *alloc_tx_struct(struct tx_cxt *tx)
|
|
|
{
|
|
|
- struct usb_tx *t = NULL;
|
|
|
+ struct usb_tx *t = kzalloc(sizeof(*t), GFP_ATOMIC);
|
|
|
|
|
|
- t = kzalloc(sizeof(*t), GFP_ATOMIC);
|
|
|
- if (t == NULL)
|
|
|
- goto out;
|
|
|
+ if (!t)
|
|
|
+ return NULL;
|
|
|
|
|
|
t->urb = usb_alloc_urb(0, GFP_ATOMIC);
|
|
|
t->buf = kmalloc(TX_BUF_SIZE, GFP_ATOMIC);
|
|
|
- if (t->urb == NULL || t->buf == NULL)
|
|
|
- goto out;
|
|
|
-
|
|
|
- t->tx_cxt = tx;
|
|
|
-
|
|
|
- return t;
|
|
|
-out:
|
|
|
- if (t) {
|
|
|
+ if (!t->urb || !t->buf) {
|
|
|
usb_free_urb(t->urb);
|
|
|
kfree(t->buf);
|
|
|
kfree(t);
|
|
|
+ return NULL;
|
|
|
}
|
|
|
- return NULL;
|
|
|
+
|
|
|
+ t->tx_cxt = tx;
|
|
|
+
|
|
|
+ return t;
|
|
|
}
|
|
|
|
|
|
static void free_tx_struct(struct usb_tx *t)
|
|
@@ -107,28 +103,22 @@ static void free_tx_struct(struct usb_tx *t)
|
|
|
|
|
|
static struct usb_rx *alloc_rx_struct(struct rx_cxt *rx)
|
|
|
{
|
|
|
- struct usb_rx *r = NULL;
|
|
|
+ struct usb_rx *r = kzalloc(sizeof(*r), GFP_ATOMIC);
|
|
|
|
|
|
- r = kmalloc(sizeof(*r), GFP_ATOMIC);
|
|
|
- if (r == NULL)
|
|
|
- goto out;
|
|
|
-
|
|
|
- memset(r, 0, sizeof(*r));
|
|
|
+ if (!r)
|
|
|
+ return NULL;
|
|
|
|
|
|
r->urb = usb_alloc_urb(0, GFP_ATOMIC);
|
|
|
r->buf = kmalloc(RX_BUF_SIZE, GFP_ATOMIC);
|
|
|
- if (r->urb == NULL || r->buf == NULL)
|
|
|
- goto out;
|
|
|
-
|
|
|
- r->rx_cxt = rx;
|
|
|
- return r;
|
|
|
-out:
|
|
|
- if (r) {
|
|
|
+ if (!r->urb || !r->buf) {
|
|
|
usb_free_urb(r->urb);
|
|
|
kfree(r->buf);
|
|
|
kfree(r);
|
|
|
+ return NULL;
|
|
|
}
|
|
|
- return NULL;
|
|
|
+
|
|
|
+ r->rx_cxt = rx;
|
|
|
+ return r;
|
|
|
}
|
|
|
|
|
|
static void free_rx_struct(struct usb_rx *r)
|