diff options
author | David S. Miller <davem@davemloft.net> | 2023-07-08 12:07:14 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-07-08 12:07:14 +0300 |
commit | bbffab69d05dfbb7c60a811c7edc2bd57a03e89f (patch) | |
tree | ea3c0bf72784a7b70e1f6ee9ae7ee5f43a2f5f14 /include/linux/ism.h | |
parent | c329b261afe71197d9da83c1f18eb45a7e97e089 (diff) | |
parent | 266deeea34ffd28c6b6a63edf2af9b5a07161c24 (diff) | |
download | linux-bbffab69d05dfbb7c60a811c7edc2bd57a03e89f.tar.xz |
Merge branch 's390-ism-fixes'
Niklas Schnelle says:
====================
s390/ism: Fixes to client handling
This is v2 of the patch previously titled "s390/ism: Detangle ISM client
IRQ and event forwarding". As suggested by Paolo Abeni I split the patch
up. While doing so I noticed another problem that was fixed by this patch
concerning the way the workqueues access the client structs. This means the
second patch turning the workqueues into simple direct calls also fixes
a problem. Finally I split off a third patch just for fixing
ism_unregister_client()s error path.
The code after these 3 patches is identical to the result of the v1 patch
except that I also turned the dev_err() for still registered DMBs into
a WARN().
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ism.h')
-rw-r--r-- | include/linux/ism.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/include/linux/ism.h b/include/linux/ism.h index ea2bcdae7401..9a4c204df3da 100644 --- a/include/linux/ism.h +++ b/include/linux/ism.h @@ -44,9 +44,7 @@ struct ism_dev { u64 local_gid; int ieq_idx; - atomic_t free_clients_cnt; - atomic_t add_dev_cnt; - wait_queue_head_t waitq; + struct ism_client *subs[MAX_CLIENTS]; }; struct ism_event { @@ -68,9 +66,6 @@ struct ism_client { */ void (*handle_irq)(struct ism_dev *dev, unsigned int bit, u16 dmbemask); /* Private area - don't touch! */ - struct work_struct remove_work; - struct work_struct add_work; - struct ism_dev *tgt_ism; u8 id; }; |