···10071007// applications that one cannot break out of.10081008//******************************************************************************10091009static int10101010-i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )10101010+i2Output(i2ChanStrPtr pCh, const char *pSource, int count)10111011{10121012 i2eBordStrPtr pB;10131013 unsigned char *pInsert;···1020102010211021 int bailout = 10;1022102210231023- ip2trace (CHANN, ITRC_OUTPUT, ITRC_ENTER, 2, count, user );10231023+ ip2trace (CHANN, ITRC_OUTPUT, ITRC_ENTER, 2, count, 0 );1024102410251025 // Ensure channel structure seems real10261026 if ( !i2Validate ( pCh ) ) ···10871087 DATA_COUNT_OF(pInsert) = amountToMove;1088108810891089 // Move the data10901090- if ( user ) {10911091- rc = copy_from_user((char*)(DATA_OF(pInsert)), pSource,10921092- amountToMove );10931093- } else {10941094- memcpy( (char*)(DATA_OF(pInsert)), pSource, amountToMove );10951095- }10901090+ memcpy( (char*)(DATA_OF(pInsert)), pSource, amountToMove );10961091 // Adjust pointers and indices10971092 pSource += amountToMove;10981093 pCh->Obuf_char_count += amountToMove;
+1-1
drivers/char/ip2/i2lib.h
···332332static int i2GetStatus(i2ChanStrPtr, int);333333static int i2Input(i2ChanStrPtr);334334static int i2InputFlush(i2ChanStrPtr);335335-static int i2Output(i2ChanStrPtr, const char *, int, int);335335+static int i2Output(i2ChanStrPtr, const char *, int);336336static int i2OutputFree(i2ChanStrPtr);337337static int i2ServiceBoard(i2eBordStrPtr);338338static void i2DrainOutput(i2ChanStrPtr, int);
+2-2
drivers/char/ip2/ip2main.c
···1704170417051705 /* This is the actual move bit. Make sure it does what we need!!!!! */17061706 WRITE_LOCK_IRQSAVE(&pCh->Pbuf_spinlock,flags);17071707- bytesSent = i2Output( pCh, pData, count, 0 );17071707+ bytesSent = i2Output( pCh, pData, count);17081708 WRITE_UNLOCK_IRQRESTORE(&pCh->Pbuf_spinlock,flags);1709170917101710 ip2trace (CHANN, ITRC_WRITE, ITRC_RETURN, 1, bytesSent );···17641764 //17651765 // We may need to restart i2Output if it does not fullfill this request17661766 //17671767- strip = i2Output( pCh, pCh->Pbuf, pCh->Pbuf_stuff, 0 );17671767+ strip = i2Output( pCh, pCh->Pbuf, pCh->Pbuf_stuff);17681768 if ( strip != pCh->Pbuf_stuff ) {17691769 memmove( pCh->Pbuf, &pCh->Pbuf[strip], pCh->Pbuf_stuff - strip );17701770 }