[tlinux-users:08131] Re: New release of omnibook module soon: testing welcome

Holger Nelson <[email protected]>
Newsgroups gmane.linux.hardware.toshiba
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello!

On Sat, 9 Sep 2006, Mathieu Bérard wrote:

> I will make a new release very soon.
> This new version will, among other things include code made for
> Toshiba M40, Tecra S1 and co laptops. (aka ectype 13).
> This was made using Toshiba provided technical documentations.

I get a null-pointer-dereference in nbsmi_smi_command on my Toshiba Tecra 
S1 and narrowed it down to these lines:
                        save_all_regs_flag();
                        intel_do_smi_call(&retval,function,sci_en);
                        restore_all_regs_flag();

I will try to debug this after I slept. Some fixes I already found while 
digging through the code and a DMI-entry for my laptop are below.

Holger

diff -urpN -X /usr/src/linux-2.6.17.3/Documentation/dontdiff xxx/trunk/laptop.h trunk/laptop.h
- --- xxx/trunk/laptop.h	2006-09-11 01:07:25.000000000 +0200
+++ trunk/laptop.h	2006-09-10 22:57:48.000000000 +0200
@@ -624,6 +624,15 @@ static struct  dmi_system_id omnibook_id
 		.driver_data = (void*) TSM40
 	},
 	{
+		.callback = dmi_matched,
+		.ident = "Toshiba Tecra S1",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "TECRA S1"),
+		},
+		.driver_data = (void*) TSM40
+	},
+	{
                 .callback = dmi_matched,
                 .ident = "Toshiba Equium A110",
                 .matches = {
diff -urpN -X /usr/src/linux-2.6.17.3/Documentation/dontdiff xxx/trunk/nbsmi.c trunk/nbsmi.c
- --- xxx/trunk/nbsmi.c	2006-09-11 01:07:25.000000000 +0200
+++ trunk/nbsmi.c	2006-09-11 01:08:39.000000000 +0200
@@ -197,7 +202,7 @@ static int nbsmi_smi_read_command(const 
 	}
 	
 	outputbuffer = kcalloc(BUFFER_SIZE,sizeof(u8),GFP_KERNEL);
- -	if(!inputbuffer) {
+	if(!outputbuffer) {
 		retval = -ENOMEM;
 		goto error2;
 	}
@@ -239,7 +247,7 @@ static int nbsmi_smi_write_command(const
 	}
 	
 	outputbuffer = kcalloc(BUFFER_SIZE,sizeof(u8),GFP_KERNEL);
- -	if(!inputbuffer) {
+	if(!outputbuffer) {
 		retval = -ENOMEM;
 		goto error2;
 	}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Made with pgp4pine 1.76

iD8DBQFFBJ+KV71P2fDJM84RAvDmAJ95hjVL4l8Wq1P8ZJ+9JvhSiOULqACg+YHY
K4GSg0wEnuRsCCvn4YJDJgY=
=GNdd
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.