Staging: hv: Use only one txf buffer per channel and kmalloc/GFP_KERNEL on initialize
authorHank Janssen <hjanssen@microsoft.com>
Tue, 14 Dec 2010 00:23:36 +0000 (16:23 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 16 Dec 2010 20:37:51 +0000 (12:37 -0800)
commit45241e50e3e741ee2a148693888b48e90e806de9
tree86609094a15f5e5c8f8b66c59e600124115c7f7d
parent244ba85606b567e6e990d2fac61e3bde5ff8f0ad
Staging: hv: Use only one txf buffer per channel and kmalloc/GFP_KERNEL on initialize

Correct issue with not checking kmalloc return value.
This fix now only uses one receive buffer for all hv_utils
channels, and will do only one kmalloc on init and will return
with a -ENOMEM if kmalloc fails on initialize.

And properly clean up memory on failure.

Thanks to Evgeniy Polyakov <zbr@ioremap.net> for pointing this out.
And thanks to Jesper Juhl <jj@chaosbits.net> and Ky Srinivasan
<ksrinivasan@novell.com> for suggesting a better implementation of
my original patch.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Reviewed-by: Jesper Juhl <jj@chaosbits.net>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Jesper Juhl <jj@chaosbits.net>
Cc: Ky Srinivasan <ksrinivasan@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/hv_utils.c