From 606e56e441573b819239e3f9fe2ed5f8792301bd Mon Sep 17 00:00:00 2001 From: Kai Germaschewski Date: Mon, 21 Jul 2003 06:45:06 -0400 Subject: [PATCH] ISDN: Fix i4l subsystem crash A loop over all drivers obviously should use ISDN_MAX_DRIVERS, not ISDN_MAX_CHANNELS. --- drivers/isdn/i4l/isdn_common.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index 029058996e858..d9c52b731b5be 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c @@ -534,8 +534,7 @@ get_drv_by_nr(int di) unsigned long flags; struct isdn_driver *drv; - if (di < 0) - return NULL; + BUG_ON(di < 0 || di >= ISDN_MAX_DRIVERS); spin_lock_irqsave(&drivers_lock, flags); drv = drivers[di]; @@ -1148,7 +1147,7 @@ get_slot_by_minor(int minor) int di, ch; struct isdn_driver *drv; - for (di = 0; di < ISDN_MAX_CHANNELS; di++) { + for (di = 0; di < ISDN_MAX_DRIVERS; di++) { drv = get_drv_by_nr(di); if (!drv) continue; -- 2.53.0