IB/umad: Return EPOLLERR in case of when device disassociated
authorShay Drory <shayd@nvidia.com>
Mon, 25 Jan 2021 12:13:39 +0000 (14:13 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 28 Jan 2021 19:27:09 +0000 (15:27 -0400)
commitdef4cd43f522253645b72c97181399c241b54536
tree017535dd7ced403363feaaef4200233e987c6c49
parent4fc5461823c9cad547a9bdfbf17d13f0da0d6bb5
IB/umad: Return EPOLLERR in case of when device disassociated

Currently, polling a umad device will always works, even if the device was
disassociated. A disassociated device should immediately return EPOLLERR
from poll(). Otherwise userspace is endlessly hung on poll() with no idea
that the device has been removed from the system.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Link: https://lore.kernel.org/r/20210125121339.837518-3-leon@kernel.org
Signed-off-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/user_mad.c