Skip to content

Commit e61c0e3

Browse files
Abhay SalunkeLinus Torvalds
Abhay Salunke
authored and
Linus Torvalds
committed
[PATCH] dell_rbu: enhancements and fixes
BUG fixes: The driver used to allocate memory with spinlock held which has been fixed in this patch. The driver was printing the entire buffer when it received a invalid entry in image_type. The fix is to only print a warning message and not the buffer. Usability enhancements: It is possible that due to user error the /sys/class/firmware/dell_rbu entries might be missing, this can happen if the user does the following echo 1 > /sys/class/firmware/dell_rbu/loading echo 0 > /sys/class/firmware/dell_rbu/loading This will make the entries in /sys/class/firmware/ to disappear and the only way get them back was bby unloading and loading the driver. This patch makes the user recreate these entries by echoing init in to image_type. This patch has been tested with Libsmbios and Dell OpenManage. Signed-off-by: Abhay Salunke <Abhay_Salunke@dell.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 parent 3013449 commit e61c0e3

File tree

2 files changed

+167
-102
lines changed

2 files changed

+167
-102
lines changed

Documentation/dell_rbu.txt

+13-5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ the BIOS on Dell servers (starting from servers sold since 1999), desktops
1313
and notebooks (starting from those sold in 2005).
1414
Please go to http://support.dell.com register and you can find info on
1515
OpenManage and Dell Update packages (DUP).
16+
Libsmbios can also be used to update BIOS on Dell systems go to
17+
http://linux.dell.com/libsmbios/ for details.
1618

1719
Dell_RBU driver supports BIOS update using the monilothic image and packetized
1820
image methods. In case of moniolithic the driver allocates a contiguous chunk
@@ -22,8 +24,8 @@ would place each packet in contiguous physical memory. The driver also
2224
maintains a link list of packets for reading them back.
2325
If the dell_rbu driver is unloaded all the allocated memory is freed.
2426

25-
The rbu driver needs to have an application which will inform the BIOS to
26-
enable the update in the next system reboot.
27+
The rbu driver needs to have an application (as mentioned above)which will
28+
inform the BIOS to enable the update in the next system reboot.
2729

2830
The user should not unload the rbu driver after downloading the BIOS image
2931
or updating.
@@ -42,9 +44,11 @@ In case of packet mechanism the single memory can be broken in smaller chuks
4244
of contiguous memory and the BIOS image is scattered in these packets.
4345

4446
By default the driver uses monolithic memory for the update type. This can be
45-
changed to contiguous during the driver load time by specifying the load
47+
changed to packets during the driver load time by specifying the load
4648
parameter image_type=packet. This can also be changed later as below
4749
echo packet > /sys/devices/platform/dell_rbu/image_type
50+
Also echoing either mono ,packet or init in to image_type will free up the
51+
memory allocated by the driver.
4852

4953
Do the steps below to download the BIOS image.
5054
1) echo 1 > /sys/class/firmware/dell_rbu/loading
@@ -53,9 +57,13 @@ Do the steps below to download the BIOS image.
5357

5458
The /sys/class/firmware/dell_rbu/ entries will remain till the following is
5559
done.
56-
echo -1 > /sys/class/firmware/dell_rbu/loading
57-
60+
echo -1 > /sys/class/firmware/dell_rbu/loading.
5861
Until this step is completed the drivr cannot be unloaded.
62+
If an user by accident executes steps 1 and 3 above without executing step 2;
63+
it will make the /sys/class/firmware/dell_rbu/ entries to disappear.
64+
The entries can be recreated by doing the following
65+
echo init > /sys/devices/platform/dell_rbu/image_type
66+
NOTE: echoing init in image_type does not change it original value.
5967

6068
Also the driver provides /sys/devices/platform/dell_rbu/data readonly file to
6169
read back the image downloaded. This is useful in case of packet update

0 commit comments

Comments
 (0)