diff options
Diffstat (limited to 'net/netlink/af_netlink.c')
| -rw-r--r-- | net/netlink/af_netlink.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 70cee82a98bf..55c0adc8f115 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c | |||
| @@ -156,7 +156,7 @@ static void netlink_sock_destruct(struct sock *sk) | |||
| 156 | 156 | ||
| 157 | static void netlink_table_grab(void) | 157 | static void netlink_table_grab(void) |
| 158 | { | 158 | { |
| 159 | write_lock_bh(&nl_table_lock); | 159 | write_lock_irq(&nl_table_lock); |
| 160 | 160 | ||
| 161 | if (atomic_read(&nl_table_users)) { | 161 | if (atomic_read(&nl_table_users)) { |
| 162 | DECLARE_WAITQUEUE(wait, current); | 162 | DECLARE_WAITQUEUE(wait, current); |
| @@ -166,9 +166,9 @@ static void netlink_table_grab(void) | |||
| 166 | set_current_state(TASK_UNINTERRUPTIBLE); | 166 | set_current_state(TASK_UNINTERRUPTIBLE); |
| 167 | if (atomic_read(&nl_table_users) == 0) | 167 | if (atomic_read(&nl_table_users) == 0) |
| 168 | break; | 168 | break; |
| 169 | write_unlock_bh(&nl_table_lock); | 169 | write_unlock_irq(&nl_table_lock); |
| 170 | schedule(); | 170 | schedule(); |
| 171 | write_lock_bh(&nl_table_lock); | 171 | write_lock_irq(&nl_table_lock); |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | __set_current_state(TASK_RUNNING); | 174 | __set_current_state(TASK_RUNNING); |
| @@ -178,7 +178,7 @@ static void netlink_table_grab(void) | |||
| 178 | 178 | ||
| 179 | static __inline__ void netlink_table_ungrab(void) | 179 | static __inline__ void netlink_table_ungrab(void) |
| 180 | { | 180 | { |
| 181 | write_unlock_bh(&nl_table_lock); | 181 | write_unlock_irq(&nl_table_lock); |
| 182 | wake_up(&nl_table_wait); | 182 | wake_up(&nl_table_wait); |
| 183 | } | 183 | } |
| 184 | 184 | ||
