if (sbp2_login_device(scsi_id)) {
/* Login failed too, just fail, and the backend
* will call our sbp2_remove for us */
- SBP2_ERR("sbp2_reconnect_device failed!");
+ SBP2_INFO("sbp2_reconnect_device failed!");
return -EBUSY;
}
}
#ifdef CONFIG_IEEE1394_SBP2_PHYS_DMA
/* Handle data movement if physical dma is not
* enabled/supportedon host controller */
- hpsb_register_addrspace(&sbp2_highlevel, host, &sbp2_physdma_ops,
+ hpsb_register_addrspace(&sbp2_highlevel, ud->ne->host, &sbp2_physdma_ops,
0x0ULL, 0xfffffffcULL);
#endif
}
SBP2_DEBUG("sbp2_query_logins: written");
if (sbp2util_down_timeout(&scsi_id->sbp2_login_complete, 2*HZ)) {
- SBP2_ERR("Error querying logins to SBP-2 device - timed out");
+ SBP2_INFO("Error querying logins to SBP-2 device - timed out");
return(-EIO);
}
if (scsi_id->status_block.ORB_offset_lo != scsi_id->query_logins_orb_dma) {
- SBP2_ERR("Error querying logins to SBP-2 device - timed out");
+ SBP2_INFO("Error querying logins to SBP-2 device - timed out");
return(-EIO);
}
STATUS_GET_DEAD_BIT(scsi_id->status_block.ORB_offset_hi_misc) ||
STATUS_GET_SBP_STATUS(scsi_id->status_block.ORB_offset_hi_misc)) {
- SBP2_ERR("Error querying logins to SBP-2 device - timed out");
+ SBP2_INFO("Error querying logins to SBP-2 device - timed out");
return(-EIO);
}
SBP2_DEBUG("length_max_logins = %x",
(unsigned int)scsi_id->query_logins_response->length_max_logins);
- SBP2_INFO("Query logins to SBP-2 device successful");
+ SBP2_DEBUG("Query logins to SBP-2 device successful");
max_logins = RESPONSE_GET_MAX_LOGINS(scsi_id->query_logins_response->length_max_logins);
- SBP2_INFO("Maximum concurrent logins supported: %d", max_logins);
+ SBP2_DEBUG("Maximum concurrent logins supported: %d", max_logins);
active_logins = RESPONSE_GET_ACTIVE_LOGINS(scsi_id->query_logins_response->length_max_logins);
- SBP2_INFO("Number of active logins: %d", active_logins);
+ SBP2_DEBUG("Number of active logins: %d", active_logins);
if (active_logins >= max_logins) {
return(-EIO);
if (!exclusive_login) {
if (sbp2_query_logins(scsi_id)) {
- SBP2_ERR("Device does not support any more concurrent logins");
+ SBP2_INFO("Device does not support any more concurrent logins");
return(-EIO);
}
}
return;
}
+
+static int sbp2scsi_slave_configure (struct scsi_device *sdev)
+{
+ blk_queue_dma_alignment(sdev->request_queue, (512 - 1));
+
+ return 0;
+}
+
+
/*
* Called by scsi stack when something has really gone wrong. Usually
* called when a command has timed-out for some reason.
.eh_device_reset_handler = sbp2scsi_reset,
.eh_bus_reset_handler = sbp2scsi_reset,
.eh_host_reset_handler = sbp2scsi_reset,
+ .slave_configure = sbp2scsi_slave_configure,
.this_id = -1,
.sg_tablesize = SG_ALL,
.use_clustering = ENABLE_CLUSTERING,