sbp2: check for ARM failure
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 29 Mar 2006 00:59:42 +0000 (19:59 -0500)
committerJody McIntyre <scjody@modernduck.com>
Wed, 29 Mar 2006 00:59:42 +0000 (19:59 -0500)
Sbp2 did not check for successful registration of the lower address range
when CONFIG_IEEE1394_SBP2_PHYS_DMA was set. If hpsb_register_addrspace
failed, a "login timed-out" would occur which is misleading. Now sbp2 logs
a sensible error message.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@modernduck.com>
drivers/ieee1394/sbp2.c

index 0b2b0da5b883cd6f11b82f6e8d08ce6aea47dc60..ce3b43dd229b3ea7f205e9bce17c744c96c67feb 100644 (file)
@@ -749,9 +749,13 @@ static struct scsi_id_instance_data *sbp2_alloc_device(struct unit_directory *ud
 
 #ifdef CONFIG_IEEE1394_SBP2_PHYS_DMA
                /* Handle data movement if physical dma is not
-                * enabled/supportedon host controller */
-               hpsb_register_addrspace(&sbp2_highlevel, ud->ne->host, &sbp2_physdma_ops,
-                                       0x0ULL, 0xfffffffcULL);
+                * enabled or not supported on host controller */
+               if (!hpsb_register_addrspace(&sbp2_highlevel, ud->ne->host,
+                                            &sbp2_physdma_ops,
+                                            0x0ULL, 0xfffffffcULL)) {
+                       SBP2_ERR("failed to register lower 4GB address range");
+                       goto failed_alloc;
+               }
 #endif
        }