@@ -2644,12 +2644,13 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
2644
2644
struct devx_async_event_file * ev_file = filp -> private_data ;
2645
2645
struct devx_event_subscription * event_sub , * event_sub_tmp ;
2646
2646
struct devx_async_event_data * entry , * tmp ;
2647
+ struct mlx5_ib_dev * dev = ev_file -> dev ;
2647
2648
2648
- mutex_lock (& ev_file -> dev -> devx_event_table .event_xa_lock );
2649
+ mutex_lock (& dev -> devx_event_table .event_xa_lock );
2649
2650
/* delete the subscriptions which are related to this FD */
2650
2651
list_for_each_entry_safe (event_sub , event_sub_tmp ,
2651
2652
& ev_file -> subscribed_events_list , file_list ) {
2652
- devx_cleanup_subscription (ev_file -> dev , event_sub );
2653
+ devx_cleanup_subscription (dev , event_sub );
2653
2654
if (event_sub -> eventfd )
2654
2655
eventfd_ctx_put (event_sub -> eventfd );
2655
2656
@@ -2658,7 +2659,7 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
2658
2659
kfree_rcu (event_sub , rcu );
2659
2660
}
2660
2661
2661
- mutex_unlock (& ev_file -> dev -> devx_event_table .event_xa_lock );
2662
+ mutex_unlock (& dev -> devx_event_table .event_xa_lock );
2662
2663
2663
2664
/* free the pending events allocation */
2664
2665
if (!ev_file -> omit_data ) {
@@ -2670,7 +2671,7 @@ static int devx_async_event_close(struct inode *inode, struct file *filp)
2670
2671
}
2671
2672
2672
2673
uverbs_close_fd (filp );
2673
- put_device (& ev_file -> dev -> ib_dev .dev );
2674
+ put_device (& dev -> ib_dev .dev );
2674
2675
return 0 ;
2675
2676
}
2676
2677
0 commit comments