summaryrefslogtreecommitdiffstats
path: root/drivers/s390/net
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2006-08-14 23:00:27 -0700
committerJeff Garzik <jeff@garzik.org>2006-08-19 17:44:30 -0400
commit3d8f3f3c3697a7603a802427c9226f5dfe6d67ad (patch)
treec6deeab098c67b4a303630ac9430cbec0d45d5c6 /drivers/s390/net
parent239e44e1f05e2163ee066c07a753f9fb445979b2 (diff)
downloadlinux-3d8f3f3c3697a7603a802427c9226f5dfe6d67ad.tar.gz
linux-3d8f3f3c3697a7603a802427c9226f5dfe6d67ad.tar.bz2
linux-3d8f3f3c3697a7603a802427c9226f5dfe6d67ad.zip
[PATCH] s390: fix arp_tbl lock usage in qeth
qeth: bhs must be disabled when accessing neighbour tables. ================================= [ INFO: inconsistent lock state ] Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r--drivers/s390/net/qeth_main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c
index 5fff1f93973a..e1327b8fce00 100644
--- a/drivers/s390/net/qeth_main.c
+++ b/drivers/s390/net/qeth_main.c
@@ -8510,9 +8510,9 @@ static int
qeth_ipv6_init(void)
{
qeth_old_arp_constructor = arp_tbl.constructor;
- write_lock(&arp_tbl.lock);
+ write_lock_bh(&arp_tbl.lock);
arp_tbl.constructor = qeth_arp_constructor;
- write_unlock(&arp_tbl.lock);
+ write_unlock_bh(&arp_tbl.lock);
arp_direct_ops = (struct neigh_ops*)
kmalloc(sizeof(struct neigh_ops), GFP_KERNEL);
@@ -8528,9 +8528,9 @@ qeth_ipv6_init(void)
static void
qeth_ipv6_uninit(void)
{
- write_lock(&arp_tbl.lock);
+ write_lock_bh(&arp_tbl.lock);
arp_tbl.constructor = qeth_old_arp_constructor;
- write_unlock(&arp_tbl.lock);
+ write_unlock_bh(&arp_tbl.lock);
kfree(arp_direct_ops);
}
#endif /* CONFIG_QETH_IPV6 */