diff options
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 8aa10391115b..a74d3ee04ba8 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h | |||
@@ -2157,6 +2157,10 @@ static inline int get_net_conf(struct drbd_conf *mdev) | |||
2157 | static inline void put_ldev(struct drbd_conf *mdev) | 2157 | static inline void put_ldev(struct drbd_conf *mdev) |
2158 | { | 2158 | { |
2159 | int i = atomic_dec_return(&mdev->local_cnt); | 2159 | int i = atomic_dec_return(&mdev->local_cnt); |
2160 | |||
2161 | /* This may be called from some endio handler, | ||
2162 | * so we must not sleep here. */ | ||
2163 | |||
2160 | __release(local); | 2164 | __release(local); |
2161 | D_ASSERT(i >= 0); | 2165 | D_ASSERT(i >= 0); |
2162 | if (i == 0) { | 2166 | if (i == 0) { |