]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/adsp_RxData.c
xnu-792.22.5.tar.gz
[apple/xnu.git] / bsd / netat / adsp_RxData.c
index 96280bb611d0e46c42801025d9b4e83a0597876d..a1e4fadffdd3aea98a9cf221c18308d92c932add 100644 (file)
@@ -1,16 +1,19 @@
 /*
  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -20,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /* 
  * RxData.c 
@@ -110,20 +113,18 @@ void CheckRecvSeq(sp, f)  /* (CCBPtr sp, ADSP_FRAMEPtr f) */
     register CCBPtr sp;
     register ADSP_FRAMEPtr f;
 {
-    int s;
     int pktNextRecvSeq;
     int sendWdwSeq;
     int eom;
     int hlen;
     register gbuf_t *mp;
        
-    ATDISABLE(s, sp->lock);
     if (f->descriptor & ADSP_ACK_REQ_BIT) { /* He wants an Ack */
        sp->sendDataAck = 1;
        sp->callSend = 1;
     }
        
-    pktNextRecvSeq = netdw(UAL_VALUE(f->pktNextRecvSeq)); /* Local copy */
+    pktNextRecvSeq = UAL_VALUE_NTOH(f->pktNextRecvSeq); /* Local copy */
 
     /*
      * Make sure the sequence number corresponds to reality -- i.e. for 
@@ -238,7 +239,7 @@ void CheckRecvSeq(sp, f)    /* (CCBPtr sp, ADSP_FRAMEPtr f) */
        sp->callSend = 1;
 
 noack:
-    sendWdwSeq = netw(UAS_VALUE(f->pktRecvWdw)) - 1 + pktNextRecvSeq;
+    sendWdwSeq = UAS_VALUE_NTOH(f->pktRecvWdw) - 1 + pktNextRecvSeq;
 
     if (GT(sendWdwSeq, sp->sendWdwSeq))        /* Don't make send window smaller */
     {
@@ -246,7 +247,6 @@ noack:
                                /* if we can send more data */
        sp->sendWdwSeq  = sendWdwSeq;
     }
-    ATENABLE(s, sp->lock);
 }
 
 /*
@@ -272,7 +272,7 @@ int RXData(sp, mp, f, len)  /* (CCBPtr sp, ADSP_FRAMEPtr f, word len) */
     ADSP_FRAMEPtr f;
     int len;
 {
-    int s, offset;
+    int offset;
     int PktFirstByteSeq;
     short cnt;
     char eom;
@@ -290,14 +290,12 @@ int RXData(sp, mp, f, len)        /* (CCBPtr sp, ADSP_FRAMEPtr f, word len) */
 
     trace_mbufs(D_M_ADSP, "  mp", mp);
 
-    PktFirstByteSeq = netdw(UAL_VALUE(f->pktFirstByteSeq)); /* Local copy */
+    PktFirstByteSeq = UAL_VALUE_NTOH(f->pktFirstByteSeq); /* Local copy */
 
-    ATDISABLE(s, sp->lock);
     if (GT(PktFirstByteSeq, sp->recvSeq)) /* missed a packet (out of order) */
     {
        if (sp->badSeqCnt++ > sp->badSeqCnt) /* Need to send rexmit advice */
            sp->sendCtl |= B_CTL_RETRANSMIT;
-       ATENABLE(s, sp->lock);
        CheckRecvSeq(sp, f);    /* Will set send ACK flag if requested */
        CheckReadQueue(sp);
        gbuf_freem(mp);
@@ -310,7 +308,6 @@ int RXData(sp, mp, f, len)  /* (CCBPtr sp, ADSP_FRAMEPtr f, word len) */
     }
        
     if (LTE(PktFirstByteSeq + len + eom, sp->recvSeq)) { /* duplicate data? */
-       ATENABLE(s, sp->lock);
        CheckRecvSeq(sp, f);    /* Will set send ACK flag if requested */
        CheckReadQueue(sp);
        gbuf_freem(mp);
@@ -338,7 +335,7 @@ int RXData(sp, mp, f, len)  /* (CCBPtr sp, ADSP_FRAMEPtr f, word len) */
     {
        sp->rData = 1;          /* Not empty any more */
 
-       if ((sp->rpb)->ioc == mp) {
+       if ((sp->rpb)->ioc == (caddr_t)mp) {
           dPrintf(D_M_ADSP, D_L_TRACE, 
                   ("RXData: (pb->ioc == mp) no stored data\n"));
           KERNEL_DEBUG(DBG_ADSP_RCV, 4, sp, sp->rpb, 0, 0);
@@ -385,7 +382,6 @@ int RXData(sp, mp, f, len)  /* (CCBPtr sp, ADSP_FRAMEPtr f, word len) */
      * doing anything that might take a long while
      */
 
-    ATENABLE(s, sp->lock);
     CheckRecvSeq(sp, f);       /* Will set send ACK flag if requested */
     CheckReadQueue(sp);
     KERNEL_DEBUG(DBG_ADSP_RCV, 5, sp, sp->rbuf_mb, 0, 0);