Both of these tests are really just sanity checks. The one at
953 was there because there was a time when kmalloc didn't have the GFP_DMA
flag. I guess the test could be removed, but if it were me I would probably
leave it just as another sanity check.
The zero buffer address is most likely caused by a command that
had no data transfer (i.e. TEST_UNIT_READY or something like it). Just
an offhand guess.
-Eric