diff options
Diffstat (limited to 'net/can/bcm.c')
-rw-r--r-- | net/can/bcm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/net/can/bcm.c b/net/can/bcm.c index 092dc88a7c64..8a6a05e7c3c8 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c | |||
@@ -387,7 +387,7 @@ static void bcm_tx_timeout_tsklet(unsigned long data) | |||
387 | } | 387 | } |
388 | 388 | ||
389 | /* | 389 | /* |
390 | * bcm_tx_timeout_handler - performes cyclic CAN frame transmissions | 390 | * bcm_tx_timeout_handler - performs cyclic CAN frame transmissions |
391 | */ | 391 | */ |
392 | static enum hrtimer_restart bcm_tx_timeout_handler(struct hrtimer *hrtimer) | 392 | static enum hrtimer_restart bcm_tx_timeout_handler(struct hrtimer *hrtimer) |
393 | { | 393 | { |
@@ -1427,9 +1427,14 @@ static int bcm_init(struct sock *sk) | |||
1427 | static int bcm_release(struct socket *sock) | 1427 | static int bcm_release(struct socket *sock) |
1428 | { | 1428 | { |
1429 | struct sock *sk = sock->sk; | 1429 | struct sock *sk = sock->sk; |
1430 | struct bcm_sock *bo = bcm_sk(sk); | 1430 | struct bcm_sock *bo; |
1431 | struct bcm_op *op, *next; | 1431 | struct bcm_op *op, *next; |
1432 | 1432 | ||
1433 | if (sk == NULL) | ||
1434 | return 0; | ||
1435 | |||
1436 | bo = bcm_sk(sk); | ||
1437 | |||
1433 | /* remove bcm_ops, timer, rx_unregister(), etc. */ | 1438 | /* remove bcm_ops, timer, rx_unregister(), etc. */ |
1434 | 1439 | ||
1435 | unregister_netdevice_notifier(&bo->notifier); | 1440 | unregister_netdevice_notifier(&bo->notifier); |
@@ -1569,7 +1574,7 @@ static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1569 | return size; | 1574 | return size; |
1570 | } | 1575 | } |
1571 | 1576 | ||
1572 | static struct proto_ops bcm_ops __read_mostly = { | 1577 | static const struct proto_ops bcm_ops = { |
1573 | .family = PF_CAN, | 1578 | .family = PF_CAN, |
1574 | .release = bcm_release, | 1579 | .release = bcm_release, |
1575 | .bind = sock_no_bind, | 1580 | .bind = sock_no_bind, |
@@ -1578,7 +1583,7 @@ static struct proto_ops bcm_ops __read_mostly = { | |||
1578 | .accept = sock_no_accept, | 1583 | .accept = sock_no_accept, |
1579 | .getname = sock_no_getname, | 1584 | .getname = sock_no_getname, |
1580 | .poll = datagram_poll, | 1585 | .poll = datagram_poll, |
1581 | .ioctl = NULL, /* use can_ioctl() from af_can.c */ | 1586 | .ioctl = can_ioctl, /* use can_ioctl() from af_can.c */ |
1582 | .listen = sock_no_listen, | 1587 | .listen = sock_no_listen, |
1583 | .shutdown = sock_no_shutdown, | 1588 | .shutdown = sock_no_shutdown, |
1584 | .setsockopt = sock_no_setsockopt, | 1589 | .setsockopt = sock_no_setsockopt, |