target: remove the get_fabric_proto_ident method
[firefly-linux-kernel-4.4.55.git] / drivers / target / target_core_iblock.c
index d4a4b0fb444a12907fac835f6a3db03600b722fa..8c965683789f9e141233edac76593e156a58bd2f 100644 (file)
@@ -444,7 +444,7 @@ iblock_execute_write_same_unmap(struct se_cmd *cmd)
        struct block_device *bdev = IBLOCK_DEV(cmd->se_dev)->ibd_bd;
        sector_t lba = cmd->t_task_lba;
        sector_t nolb = sbc_get_write_same_sectors(cmd);
-       int ret;
+       sense_reason_t ret;
 
        ret = iblock_do_unmap(cmd, bdev, lba, nolb);
        if (ret)
@@ -774,7 +774,7 @@ iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
                sg_num--;
        }
 
-       if (cmd->prot_type) {
+       if (cmd->prot_type && dev->dev_attrib.pi_prot_type) {
                int rc = iblock_alloc_bip(cmd, bio_start);
                if (rc)
                        goto fail_put_bios;
@@ -904,7 +904,6 @@ static struct se_subsystem_api iblock_template = {
        .inquiry_prod           = "IBLOCK",
        .inquiry_rev            = IBLOCK_VERSION,
        .owner                  = THIS_MODULE,
-       .transport_type         = TRANSPORT_PLUGIN_VHBA_PDEV,
        .attach_hba             = iblock_attach_hba,
        .detach_hba             = iblock_detach_hba,
        .alloc_device           = iblock_alloc_device,