Lines Matching refs:vpd_buf
387 struct scsi_vpd *vpd_buf; in scsi_get_vpd_buf() local
391 vpd_buf = kmalloc(sizeof(*vpd_buf) + vpd_len, GFP_KERNEL); in scsi_get_vpd_buf()
392 if (!vpd_buf) in scsi_get_vpd_buf()
395 result = scsi_vpd_inquiry(sdev, vpd_buf->data, page, vpd_len); in scsi_get_vpd_buf()
397 kfree(vpd_buf); in scsi_get_vpd_buf()
402 kfree(vpd_buf); in scsi_get_vpd_buf()
406 vpd_buf->len = result; in scsi_get_vpd_buf()
408 return vpd_buf; in scsi_get_vpd_buf()
414 struct scsi_vpd *vpd_buf; in scsi_update_vpd_page() local
416 vpd_buf = scsi_get_vpd_buf(sdev, page); in scsi_update_vpd_page()
417 if (!vpd_buf) in scsi_update_vpd_page()
421 vpd_buf = rcu_replace_pointer(*sdev_vpd_buf, vpd_buf, in scsi_update_vpd_page()
425 if (vpd_buf) in scsi_update_vpd_page()
426 kfree_rcu(vpd_buf, rcu); in scsi_update_vpd_page()
441 struct scsi_vpd *vpd_buf; in scsi_attach_vpd() local
447 vpd_buf = scsi_get_vpd_buf(sdev, 0); in scsi_attach_vpd()
448 if (!vpd_buf) in scsi_attach_vpd()
451 for (i = 4; i < vpd_buf->len; i++) { in scsi_attach_vpd()
452 if (vpd_buf->data[i] == 0x0) in scsi_attach_vpd()
454 if (vpd_buf->data[i] == 0x80) in scsi_attach_vpd()
456 if (vpd_buf->data[i] == 0x83) in scsi_attach_vpd()
458 if (vpd_buf->data[i] == 0x89) in scsi_attach_vpd()
461 kfree(vpd_buf); in scsi_attach_vpd()