nicstar ATM bug patch

Kåre Särs (Kare.Sars@lmf.ericsson.se)
Wed, 27 Nov 2002 15:50:45 +0200


--------------Boundary-00=_LGM87GHWADTRF7HRSFZ5
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Hi!

I'm not sure who to send this patch to, but here goes.

I have encountered a bug in the nicstar ATM driver for linux.
If you open a CBR TX only connection on a specific vpi/vci and later open a RX
only connection on the same vpi/vci, the RX connection will overwrite the
pointer to the SCQ of the TX connection. This changes the cell rate of the TX
channel and what is worse is that when the TX connection is closed we get a
segmentationfault and the TX part of the vpi/vci remains reserved.

The bug in the driver is that if the opened channel is not TX CBR, the driver
assumes it is TX UBR. I have attached a patch that adds a check for TX UBR.
The patch is against RedHat kernel 2.4.18-3. I have checked linux vanilla
kernels 2.4.19 and 2.5.49 and not found a fix.

Kåre Särs

--------------Boundary-00=_LGM87GHWADTRF7HRSFZ5
Content-Type: text/x-diff;
charset="us-ascii";
name="nicstar_ubr.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="nicstar_ubr.patch"

--- linux/drivers/atm/nicstar.c Wed Oct 16 15:45:13 2002
+++ linux/drivers/atm/nicstar.c Wed Oct 16 15:46:10 2002
@@ -1597,7 +1597,7 @@

fill_tst(card, n, vc);
}
- else /* not CBR */
+ else if (vcc->qos.txtp.traffic_class == ATM_UBR)
{
vc->cbr_scd = 0x00000000;
vc->scq = card->scq0;

--------------Boundary-00=_LGM87GHWADTRF7HRSFZ5--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/