From: "Randy.Dunlap" This trivial patch fixes the bug #320: http://bugme.osdl.org/show_bug.cgi?id=320 The additional comment: http://bugme.osdl.org/show_bug.cgi?id=320#c1 Is wrong, because it will send the command twice. We only want to see if the command got success, thus is not necessary to test against < 0 (if the return value is not 1, we got a error). Note that I'm using the function (bad) style. --- 25-akpm/drivers/char/ip2/i2lib.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/char/ip2/i2lib.c~char_ip2_double_op drivers/char/ip2/i2lib.c --- 25/drivers/char/ip2/i2lib.c~char_ip2_double_op 2004-03-16 18:48:54.001509104 -0800 +++ 25-akpm/drivers/char/ip2/i2lib.c 2004-03-16 18:48:54.005508496 -0800 @@ -1249,7 +1249,7 @@ i2RetryFlushOutput(i2ChanStrPtr pCh) } if ( old_flags & STOPFL_FLAG ) { - if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) > 0 ) { + if (1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL)) { old_flags = 0; // Success - clear flags } _