X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=drivers%2Ftarget%2Ftarget_core_rd.c;h=a6e8106abd6ffbcf44f76aa24622b52b473a5e10;hb=926347061ef1f4d3873829fd1960c6e4b965aa9f;hp=d12967690054dd160a94770cc6acabfb1207208c;hpb=2d76443e02f260d7a5bd0ede1851ae5534f0c68d;p=linux.git diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c index d12967690054..a6e8106abd6f 100644 --- a/drivers/target/target_core_rd.c +++ b/drivers/target/target_core_rd.c @@ -338,11 +338,15 @@ static void rd_dev_call_rcu(struct rcu_head *p) } static void rd_free_device(struct se_device *dev) +{ + call_rcu(&dev->rcu_head, rd_dev_call_rcu); +} + +static void rd_destroy_device(struct se_device *dev) { struct rd_dev *rd_dev = RD_DEV(dev); rd_release_device_space(rd_dev); - call_rcu(&dev->rcu_head, rd_dev_call_rcu); } static struct rd_dev_sg_table *rd_get_sg_table(struct rd_dev *rd_dev, u32 page) @@ -651,6 +655,7 @@ static const struct target_backend_ops rd_mcp_ops = { .detach_hba = rd_detach_hba, .alloc_device = rd_alloc_device, .configure_device = rd_configure_device, + .destroy_device = rd_destroy_device, .free_device = rd_free_device, .parse_cdb = rd_parse_cdb, .set_configfs_dev_params = rd_set_configfs_dev_params,