grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] disk/pata: Suppress error message "no device connected"


From: Paul Menzel
Subject: Re: [PATCH] disk/pata: Suppress error message "no device connected"
Date: Wed, 3 Mar 2021 07:23:40 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0

Dear Glenn,


Am 01.03.21 um 20:36 schrieb Glenn Washburn:
This error message comes from the grub_print_error in
grub_pata_device_initialize, which does not pass on the error, and is
raised in check_device. The function check_device needs to return this as
an error because check_device is also used in grub_pata_open, which does
pass on this error to indicate that the device can not be used.

This is actually not an error when displayed by grub_pata_device_initialize
because it just indicates that there are no pata devices seen. This may be
confusing to end users who do not have pata devices yet are loading the
pata module (perhaps implicitly via nativedisk). This also causes unnessary
output which may need to be accounted for in functional testing.

Instead print to the debug log when check_device raises this "error" and pop
the error from the error stack. If there is another error on the stack then
print the error stack as those should be real errors.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
  grub-core/disk/pata.c | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/grub-core/disk/pata.c b/grub-core/disk/pata.c
index 23eef2be1..b15aeaa13 100644
--- a/grub-core/disk/pata.c
+++ b/grub-core/disk/pata.c
@@ -331,6 +331,12 @@ grub_pata_device_initialize (int port, int device, int 
addr)
    *devp = dev;
err = check_device (dev);
+  if (err == GRUB_ERR_UNKNOWN_DEVICE)
+    {
+      grub_dprintf ("pata", "%s\n", grub_errmsg);
+      grub_error_pop();
+    }
+

(The indentation looks wrong in Mozilla Thunderbird, but applying the patch, everything is fine. The non-changed lines are indented by two spaces too much.)

    if (err)
      grub_print_error ();


Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>


Kind regards,

Paul



reply via email to

[Prev in Thread] Current Thread [Next in Thread]