patch-2.4.0-test2 linux/drivers/ieee1394/raw1394.c

Next file: linux/drivers/ieee1394/video1394.h
Previous file: linux/drivers/ieee1394/pcilynx.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test1/linux/drivers/ieee1394/raw1394.c linux/drivers/ieee1394/raw1394.c
@@ -575,8 +575,8 @@
                 break;
 
         case RAW1394_REQ_LOCK:
-                if ((req->req.misc != EXTCODE_FETCH_ADD)
-                    && (req->req.misc != EXTCODE_LITTLE_ADD)) {
+                if ((req->req.misc == EXTCODE_FETCH_ADD)
+                    || (req->req.misc == EXTCODE_LITTLE_ADD)) {
                         if (req->req.length != 4) {
                                 req->req.error = RAW1394_ERROR_INVALID_ARG;
                                 break;
@@ -667,8 +667,8 @@
                 break;
 
         case RAW1394_REQ_LOCK:
-                if ((req->req.misc != EXTCODE_FETCH_ADD)
-                    && (req->req.misc != EXTCODE_LITTLE_ADD)) {
+                if ((req->req.misc == EXTCODE_FETCH_ADD)
+                    || (req->req.misc == EXTCODE_LITTLE_ADD)) {
                         if (req->req.length != 4) {
                                 req->req.error = RAW1394_ERROR_INVALID_ARG;
                                 break;
@@ -690,6 +690,7 @@
                         break;
                 }
 
+                req->data = packet->data;
                 req->req.length = 4;
                 break;
 
@@ -716,6 +717,7 @@
         if (!hpsb_send_packet(packet)) {
                 req->req.error = RAW1394_ERROR_SEND_ERROR;
                 req->req.length = 0;
+                free_tlabel(packet->host, packet->node_id, packet->tlabel);
                 queue_complete_req(req);
         }
         return sizeof(struct raw1394_request);
@@ -843,7 +845,6 @@
 
         file->private_data = fi;
 
-        MOD_INC_USE_COUNT;
         return 0;
 }
 
@@ -897,7 +898,6 @@
 
         kfree(fi);
 
-        MOD_DEC_USE_COUNT;
         return 0;
 }
 
@@ -910,6 +910,7 @@
 };
 
 static struct file_operations file_ops = {
+	owner:	  THIS_MODULE,
         read:     dev_read, 
         write:    dev_write, 
         poll:     dev_poll, 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)