genalloc: Correct nbytes calculation on long boundary

In existing code we calculate nbytes based on the byte
boundary, but
genalloc uses bitmap for maintaining the
memory allocation aligned to
long. So while calculating
nbytes we end up getting wrong
nbytes.
example: lets say nbytes comes to 9 bytes for 70 bits when
bytes
aligned,but if long aligned we will have 3 long words
i.e 12 bytes. This
difference may lead to choosing the
wrong api for freeing the memory i.e
Between kfree() and
vfree().
Fix was inspired by an upstream
commit
eedce14, bringing same fix
into the gen_pool_detroy
path.

Change-Id:
I942caf59e25515c780896b328b912604df9e10bf
Signed-off-by: Hareesh Gundu
<hareeshg@codeaurora.org>
Signed-off-by: Sunil Khatri
<sunilkh@codeaurora.org>

idea is taken here -
https://github.com/rmbq/android_kernel_htc_msm8960/commit/6491b5414bd55a124d921133d196f975b8562739