static struct sdio_tx *alloc_tx_struct(struct tx_cxt *tx)
 {
-       struct sdio_tx *t = NULL;
+       struct sdio_tx *t = kzalloc(sizeof(*t), GFP_ATOMIC);
 
-       t = kzalloc(sizeof(*t), GFP_ATOMIC);
-       if (t == NULL)
-               goto out;
+       if (!t)
+               return NULL;
 
        t->buf = kmalloc(TX_BUF_SIZE, GFP_ATOMIC);
-       if (t->buf == NULL)
-               goto out;
+       if (!t->buf) {
+               kfree(t);
+               return NULL;
+       }
 
        t->tx_cxt = tx;
 
        return t;
-out:
-       if (t) {
-               kfree(t->buf);
-               kfree(t);
-       }
-       return NULL;
 }
 
 static void free_tx_struct(struct sdio_tx *t)
 
 static struct sdio_rx *alloc_rx_struct(struct rx_cxt *rx)
 {
-       struct sdio_rx *r = NULL;
-
-       r = kmalloc(sizeof(*r), GFP_ATOMIC);
-       if (!r)
-               return NULL;
-
-       memset(r, 0, sizeof(*r));
+       struct sdio_rx *r = kzalloc(sizeof(*r), GFP_ATOMIC);
 
-       r->rx_cxt = rx;
+       if (r)
+               r->rx_cxt = rx;
 
        return r;
 }
 
 
 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)
 
 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)