taken from FreeBSD

Index: firewire.c
===================================================================
RCS file: /usr/dfly/repo/src/sys/bus/firewire/firewire.c,v
retrieving revision 1.18
diff -u -r1.18 firewire.c
--- firewire.c  22 Dec 2006 23:12:16 -0000      1.18
+++ firewire.c  1 May 2007 15:09:51 -0000
@@ -519,6 +519,7 @@
                STAILQ_REMOVE_HEAD(&xferq->q, link);
                xferq->queued --;
                xfer->resp = EAGAIN;
+               xfer->state = FWXF_SENTERR;
                fw_xfer_done(xfer);
        }
 }
@@ -974,10 +975,10 @@
        struct fw_xfer *xfer;

        xfer = fw_xfer_alloc(type);
-       xfer->send.pay_len = send_len;
-       xfer->recv.pay_len = recv_len;
        if (xfer == NULL)
                return(NULL);
+       xfer->send.pay_len = send_len;
+       xfer->recv.pay_len = recv_len;
        if (send_len > 0) {
                xfer->send.payload = kmalloc(send_len, type, M_INTWAIT | 
M_ZERO);
                if (xfer->send.payload == NULL) {

Reply via email to