@@ -2644,12 +2644,13 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
26442644 struct devx_async_event_file * ev_file = filp -> private_data ;
26452645 struct devx_event_subscription * event_sub , * event_sub_tmp ;
26462646 struct devx_async_event_data * entry , * tmp ;
2647+ struct mlx5_ib_dev * dev = ev_file -> dev ;
26472648
2648- mutex_lock (& ev_file -> dev -> devx_event_table .event_xa_lock );
2649+ mutex_lock (& dev -> devx_event_table .event_xa_lock );
26492650 /* delete the subscriptions which are related to this FD */
26502651 list_for_each_entry_safe (event_sub , event_sub_tmp ,
26512652 & ev_file -> subscribed_events_list , file_list ) {
2652- devx_cleanup_subscription (ev_file -> dev , event_sub );
2653+ devx_cleanup_subscription (dev , event_sub );
26532654 if (event_sub -> eventfd )
26542655 eventfd_ctx_put (event_sub -> eventfd );
26552656
@@ -2658,7 +2659,7 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
26582659 kfree_rcu (event_sub , rcu );
26592660 }
26602661
2661- mutex_unlock (& ev_file -> dev -> devx_event_table .event_xa_lock );
2662+ mutex_unlock (& dev -> devx_event_table .event_xa_lock );
26622663
26632664 /* free the pending events allocation */
26642665 if (!ev_file -> omit_data ) {
@@ -2670,7 +2671,7 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
26702671 }
26712672
26722673 uverbs_close_fd (filp );
2673- put_device (& ev_file -> dev -> ib_dev .dev );
2674+ put_device (& dev -> ib_dev .dev );
26742675 return 0 ;
26752676}
26762677
0 commit comments