diff options
author | Patrick McHardy <kaber@trash.net> | 2007-04-20 17:14:21 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:29:03 -0400 |
commit | af65bdfce98d7965fbe93a48b8128444a2eea024 (patch) | |
tree | e6ac5ff82a0d5067213135cdf049b912b02e824d /drivers | |
parent | b076deb8498e26c9aa2f44046fe5e9936ae2fb5a (diff) |
[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it
Switch cb_lock to mutex and allow netlink kernel users to override it
with a subsystem specific mutex for consistent locking in dump callbacks.
All netlink_dump_start users have been audited not to rely on any
side-effects of the previously used spinlock.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/connector/connector.c | 2 | ||||
-rw-r--r-- | drivers/scsi/scsi_netlink.c | 3 | ||||
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c index 7f9c4fb7e5b0..a7b9e9bb3e8d 100644 --- a/drivers/connector/connector.c +++ b/drivers/connector/connector.c | |||
@@ -448,7 +448,7 @@ static int __devinit cn_init(void) | |||
448 | 448 | ||
449 | dev->nls = netlink_kernel_create(NETLINK_CONNECTOR, | 449 | dev->nls = netlink_kernel_create(NETLINK_CONNECTOR, |
450 | CN_NETLINK_USERS + 0xf, | 450 | CN_NETLINK_USERS + 0xf, |
451 | dev->input, THIS_MODULE); | 451 | dev->input, NULL, THIS_MODULE); |
452 | if (!dev->nls) | 452 | if (!dev->nls) |
453 | return -EIO; | 453 | return -EIO; |
454 | 454 | ||
diff --git a/drivers/scsi/scsi_netlink.c b/drivers/scsi/scsi_netlink.c index 45646a285244..4bf9aa547c78 100644 --- a/drivers/scsi/scsi_netlink.c +++ b/drivers/scsi/scsi_netlink.c | |||
@@ -168,7 +168,8 @@ scsi_netlink_init(void) | |||
168 | } | 168 | } |
169 | 169 | ||
170 | scsi_nl_sock = netlink_kernel_create(NETLINK_SCSITRANSPORT, | 170 | scsi_nl_sock = netlink_kernel_create(NETLINK_SCSITRANSPORT, |
171 | SCSI_NL_GRP_CNT, scsi_nl_rcv, THIS_MODULE); | 171 | SCSI_NL_GRP_CNT, scsi_nl_rcv, NULL, |
172 | THIS_MODULE); | ||
172 | if (!scsi_nl_sock) { | 173 | if (!scsi_nl_sock) { |
173 | printk(KERN_ERR "%s: register of recieve handler failed\n", | 174 | printk(KERN_ERR "%s: register of recieve handler failed\n", |
174 | __FUNCTION__); | 175 | __FUNCTION__); |
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 10590cd7e9ed..aabaa0576ab4 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -1435,7 +1435,7 @@ static __init int iscsi_transport_init(void) | |||
1435 | if (err) | 1435 | if (err) |
1436 | goto unregister_conn_class; | 1436 | goto unregister_conn_class; |
1437 | 1437 | ||
1438 | nls = netlink_kernel_create(NETLINK_ISCSI, 1, iscsi_if_rx, | 1438 | nls = netlink_kernel_create(NETLINK_ISCSI, 1, iscsi_if_rx, NULL, |
1439 | THIS_MODULE); | 1439 | THIS_MODULE); |
1440 | if (!nls) { | 1440 | if (!nls) { |
1441 | err = -ENOBUFS; | 1441 | err = -ENOBUFS; |