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-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html