]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/scsi_netlink.c
[SCSI] gdth: PCI probe cleanups, prep for PCI hotplug API conversion
[linux-2.6-omap-h63xx.git] / drivers / scsi / scsi_netlink.c
index 45646a2852442206370b1b548c1efedf5a7dd50c..370c78cc1cb562f20af68017489a78b6650374a0 100644 (file)
@@ -32,11 +32,12 @@ EXPORT_SYMBOL_GPL(scsi_nl_sock);
 
 
 /**
- * scsi_nl_rcv_msg -
- *    Receive message handler. Extracts message from a receive buffer.
+ * scsi_nl_rcv_msg - Receive message handler.
+ * @skb:               socket receive buffer
+ *
+ * Description: Extracts message from a receive buffer.
  *    Validates message header and calls appropriate transport message handler
  *
- * @skb:               socket receive buffer
  *
  **/
 static void
@@ -64,7 +65,7 @@ scsi_nl_rcv_msg(struct sk_buff *skb)
 
                if (nlh->nlmsg_type != SCSI_TRANSPORT_MSG) {
                        err = -EBADMSG;
-                       goto next_msg;
+                       return;
                }
 
                hdr = NLMSG_DATA(nlh);
@@ -99,30 +100,7 @@ next_msg:
 
 
 /**
- * scsi_nl_rcv_msg -
- *    Receive handler for a socket. Extracts a received message buffer from
- *    the socket, and starts message processing.
- *
- * @sk:                socket
- * @len:       unused
- *
- **/
-static void
-scsi_nl_rcv(struct sock *sk, int len)
-{
-       struct sk_buff *skb;
-
-       while ((skb = skb_dequeue(&sk->sk_receive_queue))) {
-               scsi_nl_rcv_msg(skb);
-               kfree_skb(skb);
-       }
-}
-
-
-/**
- * scsi_nl_rcv_event -
- *    Event handler for a netlink socket.
- *
+ * scsi_nl_rcv_event - Event handler for a netlink socket.
  * @this:              event notifier block
  * @event:             event type
  * @ptr:               event payload
@@ -150,9 +128,7 @@ static struct notifier_block scsi_netlink_notifier = {
 
 
 /**
- * scsi_netlink_init -
- *    Called by SCSI subsystem to intialize the SCSI transport netlink
- *    interface
+ * scsi_netlink_init - Called by SCSI subsystem to intialize the SCSI transport netlink interface
  *
  **/
 void
@@ -167,8 +143,9 @@ scsi_netlink_init(void)
                return;
        }
 
-       scsi_nl_sock = netlink_kernel_create(NETLINK_SCSITRANSPORT,
-                               SCSI_NL_GRP_CNT, scsi_nl_rcv, THIS_MODULE);
+       scsi_nl_sock = netlink_kernel_create(&init_net, NETLINK_SCSITRANSPORT,
+                               SCSI_NL_GRP_CNT, scsi_nl_rcv_msg, NULL,
+                               THIS_MODULE);
        if (!scsi_nl_sock) {
                printk(KERN_ERR "%s: register of recieve handler failed\n",
                                __FUNCTION__);
@@ -180,16 +157,14 @@ scsi_netlink_init(void)
 
 
 /**
- * scsi_netlink_exit -
- *    Called by SCSI subsystem to disable the SCSI transport netlink
- *    interface
+ * scsi_netlink_exit - Called by SCSI subsystem to disable the SCSI transport netlink interface
  *
  **/
 void
 scsi_netlink_exit(void)
 {
        if (scsi_nl_sock) {
-               sock_release(scsi_nl_sock->sk_socket);
+               netlink_kernel_release(scsi_nl_sock);
                netlink_unregister_notifier(&scsi_netlink_notifier);
        }