Lee,
My worry is that this won't always work. Looking at the code, the
buffer sizes used for VPD pages include 8, 32, 64, and 252 bytes. I'm
not sure how reading 255 bytes into an 8-byte buffer would work.
In the scsi_get_vpd_buf() case we will allocate a 255 byte buffer since
that's what scsi_get_vpd_size() returns for a VDASD.
And in the scsi_get_vpd_page() case, where a buffer already exists, we
clamp the INQUIRY size to the minimum of scsi_get_vpd_size() and the
buffer length provided by the caller.