On 03.06.2015 22:37, Eric Blake wrote:
On 06/03/2015 01:43 PM, Max Reitz wrote:
Only call bdrv_add_key() on the BlockDriverState if it is not NULL.

Signed-off-by: Max Reitz <mre...@redhat.com>
---
  hw/usb/dev-storage.c | 30 ++++++++++++++++--------------
  1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index abe0e1d..5b1dc90 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -612,20 +612,22 @@ static void usb_msd_realize_storage(USBDevice *dev, Error 
**errp)
          return;
      }
- bdrv_add_key(blk_bs(blk), NULL, &err);
-    if (err) {
-        if (monitor_cur_is_qmp()) {
-            error_propagate(errp, err);
-            return;
-        }
-        error_free(err);
-        err = NULL;
-        if (cur_mon) {
-            monitor_read_bdrv_key_start(cur_mon, blk_bs(blk),
-                                        usb_msd_password_cb, s);
-            s->dev.auto_attach = 0;
-        } else {
-            autostart = 0;
+    if (blk_bs(blk)) {
+        bdrv_add_key(blk_bs(blk), NULL, &err);
+        if (err) {
+            if (monitor_cur_is_qmp()) {
Hopefully doesn't conflict with Markus' work to refactor error handling
here (https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg00431.html)

He doesn't touch this file in this series, and I'm just wrapping this block inside of an "if (blk_bs(blk))", so it should be fine.

On the other hand, Markus did modify this part in some previous series of his, but that has been merged already and this patch is (re-)based on it.

Reviewed-by: Eric Blake <ebl...@redhat.com>

Thanks :-)

Max

Reply via email to