Lines Matching refs:vpd_buf
389 struct scsi_vpd *vpd_buf; in scsi_get_vpd_buf() local
393 vpd_buf = kmalloc(sizeof(*vpd_buf) + vpd_len, GFP_KERNEL); in scsi_get_vpd_buf()
394 if (!vpd_buf) in scsi_get_vpd_buf()
397 result = scsi_vpd_inquiry(sdev, vpd_buf->data, page, vpd_len); in scsi_get_vpd_buf()
399 kfree(vpd_buf); in scsi_get_vpd_buf()
404 kfree(vpd_buf); in scsi_get_vpd_buf()
408 vpd_buf->len = result; in scsi_get_vpd_buf()
410 return vpd_buf; in scsi_get_vpd_buf()
416 struct scsi_vpd *vpd_buf; in scsi_update_vpd_page() local
418 vpd_buf = scsi_get_vpd_buf(sdev, page); in scsi_update_vpd_page()
419 if (!vpd_buf) in scsi_update_vpd_page()
423 vpd_buf = rcu_replace_pointer(*sdev_vpd_buf, vpd_buf, in scsi_update_vpd_page()
427 if (vpd_buf) in scsi_update_vpd_page()
428 kfree_rcu(vpd_buf, rcu); in scsi_update_vpd_page()
443 struct scsi_vpd *vpd_buf; in scsi_attach_vpd() local
449 vpd_buf = scsi_get_vpd_buf(sdev, 0); in scsi_attach_vpd()
450 if (!vpd_buf) in scsi_attach_vpd()
453 for (i = 4; i < vpd_buf->len; i++) { in scsi_attach_vpd()
454 if (vpd_buf->data[i] == 0x0) in scsi_attach_vpd()
456 if (vpd_buf->data[i] == 0x80) in scsi_attach_vpd()
458 if (vpd_buf->data[i] == 0x83) in scsi_attach_vpd()
460 if (vpd_buf->data[i] == 0x89) in scsi_attach_vpd()
463 kfree(vpd_buf); in scsi_attach_vpd()