summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2021-06-30 13:52:24 +0300
committerMiquel Raynal <miquel.raynal@bootlin.com>2021-06-30 13:52:24 +0300
commit0bcc3939c98d83955397eac1584d5f791fdc88d0 (patch)
tree21e6be9c578916ca86ffe0f88a9d807435318964 /drivers/block
parent600d050944e133fde1f54b9113b01ccefbd82820 (diff)
parentc17e5c85b32f8809135f3211ba2525fb98b5c09f (diff)
downloadlinux-0bcc3939c98d83955397eac1584d5f791fdc88d0.tar.xz
Merge tag 'spi-nor/for-5.14' into mtd/next
SPI NOR core changes: - Ability to dump SFDP tables via sysfs - Support for erasing OTP regions on Winbond and similar flashes - Few API doc updates and fixes - Locking support for MX25L12805D SPI NOR controller drivers changes: - Use SPI_MODE_X_MASK in nxp-spifi - Intel Alder Lake-M SPI serial flash support
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/nbd.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 4ff71b579cfc..45d2c28c8fc8 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1980,7 +1980,8 @@ static void nbd_disconnect_and_put(struct nbd_device *nbd)
* config ref and try to destroy the workqueue from inside the work
* queue.
*/
- flush_workqueue(nbd->recv_workq);
+ if (nbd->recv_workq)
+ flush_workqueue(nbd->recv_workq);
if (test_and_clear_bit(NBD_RT_HAS_CONFIG_REF,
&nbd->config->runtime_flags))
nbd_config_put(nbd);
@@ -2014,12 +2015,11 @@ static int nbd_genl_disconnect(struct sk_buff *skb, struct genl_info *info)
return -EINVAL;
}
mutex_unlock(&nbd_index_mutex);
- if (!refcount_inc_not_zero(&nbd->config_refs)) {
- nbd_put(nbd);
- return 0;
- }
+ if (!refcount_inc_not_zero(&nbd->config_refs))
+ goto put_nbd;
nbd_disconnect_and_put(nbd);
nbd_config_put(nbd);
+put_nbd:
nbd_put(nbd);
return 0;
}