2001-11-05 10:21:29

by Patrick vd Lageweg

[permalink] [raw]
Subject: [PATCH] Firestream

Hi Linux, Alan,

This patch fix a serious bug in the fs_open function that allow the driver
to use more than 32 channels where there are only 32 channels.

Patrick

diff -u -r /usr/src/linux-2.4.13-ac7.clean/drivers/atm/firestream.c /usr/src/linux-2.4.13-ac7.firestream/drivers/atm/firestream.c
--- /usr/src/linux-2.4.13-ac7.clean/drivers/atm/firestream.c Mon Nov 5 11:10:45 2001
+++ /usr/src/linux-2.4.13-ac7.firestream/drivers/atm/firestream.c Mon Nov 5 11:13:18 2001
@@ -912,6 +912,9 @@
if (IS_FS50(dev)) {
/* Increment the channel numer: take a free one next time. */
for (to=33;to;to--, dev->channo++) {
+ /* We only have 32 channels */
+ if (dev->channo >= 32)
+ dev->channo = 0;
/* If we need to do RX, AND the RX is inuse, try the next */
if (DO_DIRECTION(rxtp) && dev->atm_vccs[dev->channo])
continue;