All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Domsch <Matt_Domsch@dell.com>
To: akpm@osdl.org, Matt Tolentino <metolent@snoqualmie.dp.intel.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/3] efivars driver update and move
Date: Mon, 26 Apr 2004 18:57:58 +0000	[thread overview]
Message-ID: <20040426185758.GA32755@lists.us.dell.com> (raw)
In-Reply-To: <20040424034109.GA15589@lists.us.dell.com>

[-- Attachment #1: Type: text/plain, Size: 2763 bytes --]

Patch below fixes three small bugs in efivars.c as posted by Matt
Tolentino last week and included in the latest -mm.  Aside from this
small patch, I'm quite pleased with Matt T's work, thanks! 

* dummy() used for reading write-only sysfs files should return
  -ENODEV to indicate failure, not 0.
* efivar_create() should return the number of bytes written on
  success, not zero.  
* efivar_delete() should return the number of bytes written on
  success, not zero.

Compiled, tested with efibootmgr-0.5.0-test3.  The anomolies I noted
late Friday night are resolved by this kernel patch - efibootmgr was
actually testing the values returned by writes.

-- 
Matt Domsch
Sr. Software Engineer, Lead Engineer
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com

--- linux-2.6.5.orig/drivers/firmware/efivars.c	2004-04-24 06:58:08.000000000 -0400
+++ linux-2.6.5/drivers/firmware/efivars.c	2004-04-27 03:48:33.037318467 -0400
@@ -1,7 +1,7 @@
 /*
  * EFI Variables - efivars.c
  *
- * Copyright (C) 2001,2003 Dell <Matt_Domsch@dell.com>
+ * Copyright (C) 2001,2003,2004 Dell <Matt_Domsch@dell.com>
  * Copyright (C) 2004 Intel Corporation <matthew.e.tolentino@intel.com>
  *
  * This code takes all variables accessible from EFI runtime and
@@ -23,6 +23,9 @@
  *
  * Changelog:
  *
+ *  26 Apr 2004 - Matt Domsch <Matt_Domsch@dell.com>
+ *   minor bug fixes
+ *
  *  21 Apr 2004 - Matt Tolentino <matthew.e.tolentino@intel.com)
  *   converted driver to export variable information via sysfs
  *   and moved to drivers/firmware directory
@@ -78,7 +81,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
 MODULE_DESCRIPTION("sysfs interface to EFI Variables");
 MODULE_LICENSE("GPL");
 
-#define EFIVARS_VERSION "0.07 2003-Aug-29"
+#define EFIVARS_VERSION "0.07 2004-Apr-26"
 
 /*
  * efivars_lock protects two things:
@@ -408,7 +411,7 @@ static struct kobj_type ktype_efivar = {
 static ssize_t
 dummy(struct subsystem *sub, char *buf)
 {
-	return 0;
+	return -ENODEV;
 }
 
 static inline void
@@ -472,7 +475,10 @@ efivar_create(struct subsystem *sub, con
 	/* Create the entry in sysfs.  Locking is not required here */
 	status = efivar_create_sysfs_entry(utf8_strsize(new_var->VariableName,
 			1024), new_var->VariableName, &new_var->VendorGuid);
-	return status;
+	if (status) {
+		printk(KERN_WARNING "efivars: variable created, but sysfs entry wasn't.\n");
+	}
+	return count;
 }
 
 static ssize_t
@@ -532,7 +538,7 @@ efivar_delete(struct subsystem *sub, con
 	efivar_unregister(search_efivar);
 
 	/* It's dead Jim.... */
-	return status;
+	return count;
 }
 
 static VAR_SUBSYS_ATTR(new_var, 0200, dummy, efivar_create);

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Matt Domsch <Matt_Domsch@dell.com>
To: akpm@osdl.org, Matt Tolentino <metolent@snoqualmie.dp.intel.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 1/3] efivars driver update and move
Date: Mon, 26 Apr 2004 13:57:58 -0500	[thread overview]
Message-ID: <20040426185758.GA32755@lists.us.dell.com> (raw)
In-Reply-To: <20040424034109.GA15589@lists.us.dell.com>

[-- Attachment #1: Type: text/plain, Size: 2763 bytes --]

Patch below fixes three small bugs in efivars.c as posted by Matt
Tolentino last week and included in the latest -mm.  Aside from this
small patch, I'm quite pleased with Matt T's work, thanks! 

* dummy() used for reading write-only sysfs files should return
  -ENODEV to indicate failure, not 0.
* efivar_create() should return the number of bytes written on
  success, not zero.  
* efivar_delete() should return the number of bytes written on
  success, not zero.

Compiled, tested with efibootmgr-0.5.0-test3.  The anomolies I noted
late Friday night are resolved by this kernel patch - efibootmgr was
actually testing the values returned by writes.

-- 
Matt Domsch
Sr. Software Engineer, Lead Engineer
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com

--- linux-2.6.5.orig/drivers/firmware/efivars.c	2004-04-24 06:58:08.000000000 -0400
+++ linux-2.6.5/drivers/firmware/efivars.c	2004-04-27 03:48:33.037318467 -0400
@@ -1,7 +1,7 @@
 /*
  * EFI Variables - efivars.c
  *
- * Copyright (C) 2001,2003 Dell <Matt_Domsch@dell.com>
+ * Copyright (C) 2001,2003,2004 Dell <Matt_Domsch@dell.com>
  * Copyright (C) 2004 Intel Corporation <matthew.e.tolentino@intel.com>
  *
  * This code takes all variables accessible from EFI runtime and
@@ -23,6 +23,9 @@
  *
  * Changelog:
  *
+ *  26 Apr 2004 - Matt Domsch <Matt_Domsch@dell.com>
+ *   minor bug fixes
+ *
  *  21 Apr 2004 - Matt Tolentino <matthew.e.tolentino@intel.com)
  *   converted driver to export variable information via sysfs
  *   and moved to drivers/firmware directory
@@ -78,7 +81,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
 MODULE_DESCRIPTION("sysfs interface to EFI Variables");
 MODULE_LICENSE("GPL");
 
-#define EFIVARS_VERSION "0.07 2003-Aug-29"
+#define EFIVARS_VERSION "0.07 2004-Apr-26"
 
 /*
  * efivars_lock protects two things:
@@ -408,7 +411,7 @@ static struct kobj_type ktype_efivar = {
 static ssize_t
 dummy(struct subsystem *sub, char *buf)
 {
-	return 0;
+	return -ENODEV;
 }
 
 static inline void
@@ -472,7 +475,10 @@ efivar_create(struct subsystem *sub, con
 	/* Create the entry in sysfs.  Locking is not required here */
 	status = efivar_create_sysfs_entry(utf8_strsize(new_var->VariableName,
 			1024), new_var->VariableName, &new_var->VendorGuid);
-	return status;
+	if (status) {
+		printk(KERN_WARNING "efivars: variable created, but sysfs entry wasn't.\n");
+	}
+	return count;
 }
 
 static ssize_t
@@ -532,7 +538,7 @@ efivar_delete(struct subsystem *sub, con
 	efivar_unregister(search_efivar);
 
 	/* It's dead Jim.... */
-	return status;
+	return count;
 }
 
 static VAR_SUBSYS_ATTR(new_var, 0200, dummy, efivar_create);

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2004-04-26 18:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-22 15:51 [patch 1/3] efivars driver update and move Matt Tolentino
2004-04-22 17:32 ` Matt Tolentino
2004-04-22 16:46 ` Bjorn Helgaas
2004-04-22 16:46   ` Bjorn Helgaas
2004-04-22 17:14 ` Tolentino, Matthew E
2004-04-22 17:14   ` Tolentino, Matthew E
2004-04-22 17:20   ` Bjorn Helgaas
2004-04-22 17:20     ` Bjorn Helgaas
2004-04-29 19:50   ` Alex Williamson
2004-04-29 19:50     ` Alex Williamson
2004-04-29 21:19     ` Matt Domsch
2004-04-29 21:19       ` Matt Domsch
2004-04-29 22:08       ` Alex Williamson
2004-04-29 22:08         ` Alex Williamson
2004-04-23 22:29 ` Matt Domsch
2004-04-23 22:29   ` Matt Domsch
2004-04-24  3:41   ` Matt Domsch
2004-04-24  3:41     ` Matt Domsch
2004-04-26 18:57     ` Matt Domsch [this message]
2004-04-26 18:57       ` Matt Domsch
2004-04-26 19:30 ` Matt Tolentino
2004-04-26 21:15   ` Matt Tolentino
2004-04-30  0:09 ` Matt Tolentino
2004-04-30  1:55   ` Matt Tolentino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040426185758.GA32755@lists.us.dell.com \
    --to=matt_domsch@dell.com \
    --cc=akpm@osdl.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=metolent@snoqualmie.dp.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.