Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 129575f2 authored by Ben Chan's avatar Ben Chan Committed by Greg Kroah-Hartman
Browse files

staging: gdm72xx: simplify alloc_tx_struct and alloc_rx_struct



This patch simplifies alloc_tx_struct and alloc_rx_struct in gdm_sdio.c
and gdm_usb.c by replacing kmalloc+memset with kzalloc and reorganizing
the code.

Signed-off-by: default avatarBen Chan <benchan@chromium.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b37c1aee
Loading
Loading
Loading
Loading
+10 −20
Original line number Diff line number Diff line
@@ -60,25 +60,20 @@ static void hexdump(char *title, u8 *data, int len)

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)
@@ -91,14 +86,9 @@ 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);

	if (r)
		r->rx_cxt = rx;

	return r;
+17 −27
Original line number Diff line number Diff line
@@ -73,29 +73,25 @@ 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;
	}

	t->tx_cxt = tx;

	return t;
}

static void free_tx_struct(struct usb_tx *t)
{
	if (t) {
@@ -107,30 +103,24 @@ 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;
	}

	r->rx_cxt = rx;
	return r;
}

static void free_rx_struct(struct usb_rx *r)
{
	if (r) {