Re: [PATCH 1/1] Staging: hv: mousevsc: Move the mouse driver out ofstaging

From: Dan Carpenter
Date: Sun Oct 16 2011 - 18:32:35 EST


On Fri, Oct 14, 2011 at 11:36:36PM -0700, Joe Perches wrote:
> This do {} while (1); seems like it could be simpler,
> less indented and less confusing if it used continues
> or gotos like below (if I wrote it correctly...)
>
> loop:
> ret = vmbus_bus_recvpacket_raw(device->channel, buffer,
> bufferlen, &bytes_recvd, &req_id);
> switch (ret) {
> case -ENOBUFS:
> /* Handle large packet */
> bufferlen = bytes_recvd;
> buffer = kzalloc(bytes_recvd, GFP_ATOMIC);
> /*
> Why kzalloc and not kmalloc?
> The stack variable packet is not memset to 0,
> why should buffer be zeroed?
> */
> if (!buffer)
> return;
> goto loop;
> case 0:
> if (bytes_recvd <= 0)
> goto loop;

In the original we called break here (which is equivelent to a
return). Btw setting a stack variable and then returning immediately
like the original code did is pointless.

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/