Bug #785
closedfixes for src/sys/bus/firewire/firewire.c
0%
Description
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>q, link);
++ firewire.c 1 May 2007 15:09:51 -0000@ -519,6 +519,7
@
STAILQ_REMOVE_HEAD(&xferq
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) {
Updated by dillon over 17 years ago
: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>q, link);
:+++ firewire.c 1 May 2007 15:09:51 -0000
:@ -519,6 +519,7
@
: STAILQ_REMOVE_HEAD(&xferq
: xferq->queued --;
: xfer->resp = EAGAIN;
:+ xfer->state = FWXF_SENTERR;
: fw_xfer_done(xfer);
Committed.
The xfer allocs can't return NULL so I didn't commit the other bit.
We could just remove all the NULL checks entirely, in fact.
-Matt