]> rtime.felk.cvut.cz Git - socketcan-devel.git/blobdiff - kernel/2.6/net/can/isotp.c
Add missinf includes for tasklet usage.
[socketcan-devel.git] / kernel / 2.6 / net / can / isotp.c
index 6c1f25c5abfee79631c3d6e52394d8f623b1394c..f15f788a34d113e42efd8732fa3c858e297cb2ed 100644 (file)
@@ -54,6 +54,8 @@
 #include <linux/module.h>
 #include <linux/version.h>
 #include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/hrtimer.h>
 #include <linux/wait.h>
 #include <linux/uio.h>
 #include <linux/net.h>
@@ -795,7 +797,12 @@ static int isotp_recvmsg(struct kiocb *iocb, struct socket *sock,
 static int isotp_release(struct socket *sock)
 {
        struct sock *sk = sock->sk;
-       struct isotp_sock *so = isotp_sk(sk);
+       struct isotp_sock *so;
+
+       if (!sk)
+               return 0;
+
+       so = isotp_sk(sk);
 
        /* wait for complete transmission of current pdu */
        wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE);
@@ -1126,7 +1133,7 @@ static int isotp_init(struct sock *sk)
 }
 
 
-static struct proto_ops isotp_ops __read_mostly = {
+static const struct proto_ops isotp_ops = {
        .family        = PF_CAN,
        .release       = isotp_release,
        .bind          = isotp_bind,
@@ -1135,7 +1142,7 @@ static struct proto_ops isotp_ops __read_mostly = {
        .accept        = sock_no_accept,
        .getname       = isotp_getname,
        .poll          = datagram_poll,
-       .ioctl         = NULL,          /* use can_ioctl() from af_can.c */
+       .ioctl         = can_ioctl,     /* use can_ioctl() from af_can.c */
        .listen        = sock_no_listen,
        .shutdown      = sock_no_shutdown,
        .setsockopt    = isotp_setsockopt,
@@ -1153,10 +1160,12 @@ static struct proto isotp_proto __read_mostly = {
        .init       = isotp_init,
 };
 
-static struct can_proto isotp_can_proto __read_mostly = {
+static const struct can_proto isotp_can_proto = {
        .type       = SOCK_DGRAM,
        .protocol   = CAN_ISOTP,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)
        .capability = -1,
+#endif
        .ops        = &isotp_ops,
        .prot       = &isotp_proto,
 };