Re: new SGI TIOCX driver in *-mm driver model locking broken

From: Andrew Morton
Date: Sat Apr 02 2005 - 06:53:14 EST


Paul Jackson <pj@xxxxxxxxxxxx> wrote:
>
> If I try to compile 2.6.12-rc1-mm4 for SN2 with the config option
>
> CONFIG_SGI_TIOCX=y
>
> the build fails with a bunch of errors on line 527 of tiocx.c, starting
> with:

Pat did a patch, but nobody's tested it yet.

diff -puN arch/ia64/sn/kernel/tiocx.c~bk-driver-core-sn2-build-fix arch/ia64/sn/kernel/tiocx.c
--- 25/arch/ia64/sn/kernel/tiocx.c~bk-driver-core-sn2-build-fix 2005-04-01 21:41:07.000000000 -0800
+++ 25-akpm/arch/ia64/sn/kernel/tiocx.c 2005-04-01 21:41:07.000000000 -0800
@@ -514,25 +514,22 @@ static int __init tiocx_init(void)
return 0;
}

-static void __exit tiocx_exit(void)
+static int cx_remove_device(struct device * dev, void * data)
{
- struct device *dev;
- struct device *tdev;
+ struct cx_dev *cx_dev = to_cx_dev(dev);
+ device_remove_file(dev, &dev_attr_cxdev_control);
+ cx_device_unregister(cx_dev);
+ return 0;
+}

+static void __exit tiocx_exit(void)
+{
DBG("tiocx_exit\n");

/*
* Unregister devices.
*/
- list_for_each_entry_safe(dev, tdev, &tiocx_bus_type.devices.list,
- bus_list) {
- if (dev) {
- struct cx_dev *cx_dev = to_cx_dev(dev);
- device_remove_file(dev, &dev_attr_cxdev_control);
- cx_device_unregister(cx_dev);
- }
- }
-
+ bus_for_each_dev(&tiocx_bus_type, NULL, NULL, cx_remove_device);
bus_unregister(&tiocx_bus_type);
}

_

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