lkml.org 
[lkml]   [2000]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: Bug in 3w-xxxx.c (Notifiers STILL broken)
Date
This is due to a bug in kernel/sys.c in the function
notifier_chain_unregister().
where the 'notifier_lock' can't be acquired while reboot is running.

I suspect any other drivers that call this function on shutdown from
unregister_reboot_notifier() (in the case where the root filesystem is
mounted
through the driver will also have this problem), i.e. DAC960.c (Mylex) and
gdth.c (ICP).

The fix for now is to modify kernel/sys.c, the function
"notifier_chain_unregister",
and remove the write_lock(&notifier_lock), and write_unlock(&notifier_lock)
calls
from this function and recompile your kernel.

--
Adam Radford
Software Engineer
3ware, Inc.

-----Original Message-----
From: Frank.Koeck@mpi-hd.mpg.de [mailto:Frank.Koeck@mpi-hd.mpg.de]
Sent: Friday, September 15, 2000 12:49 AM
To: andre@suse.com; linux@3ware.com
Subject: Bug in 3w-xxxx.c


Hi,

i have discovered a problem with a 3ware 5400 controller inside my SMP
system (Dual PIII800, kernel 2.4.0-test7, 3w-xxxx.c version 1.02.00.002).

Problem:
System will not reboot or halt. Last message on console comes form
within 3w-xxxx.c.

Solution:
remove call to function unregister_reboot_notifier() in function
tw_halt() solves the problem.

Regards,
Frank Koeck
---
Frank Koeck
Max-Planck-Institut fuer Kernphysik, Saupfercheckweg 1, D-69117 Heidelberg
Phone: +49-6221-516-518 Fax: +49-6221-516-602
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:38    [W:0.023 / U:3.316 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site