net/caif/cfrfml.c: use asm/unaligned.h
[linux-2.6.git] / net / caif / cfdgml.c
index 32d9f0d..ed9d53a 100644 (file)
@@ -17,6 +17,7 @@
 #define DGM_FLOW_OFF 0x81
 #define DGM_FLOW_ON  0x80
 #define DGM_CTRL_PKT_SIZE 1
+#define DGM_MTU 1500
 
 static int cfdgml_receive(struct cflayer *layr, struct cfpkt *pkt);
 static int cfdgml_transmit(struct cflayer *layr, struct cfpkt *pkt);
@@ -89,6 +90,10 @@ static int cfdgml_transmit(struct cflayer *layr, struct cfpkt *pkt)
        if (!cfsrvl_ready(service, &ret))
                return ret;
 
+       /* STE Modem cannot handle more than 1500 bytes datagrams */
+       if (cfpkt_getlen(pkt) > DGM_MTU)
+               return -EMSGSIZE;
+
        cfpkt_add_head(pkt, &zero, 4);
 
        /* Add info for MUX-layer to route the packet out. */