if (sht->unchecked_isa_dma && privsize)
gfp_mask |= __GFP_DMA;
- shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
+ /* Check to see if this host has any error handling facilities */
+ if (!sht->eh_strategy_handler && !sht->eh_abort_handler &&
+ !sht->eh_device_reset_handler && !sht->eh_bus_reset_handler &&
+ !sht->eh_host_reset_handler) {
+ printk(KERN_ERR "ERROR: SCSI host `%s' has no error handling\n"
+ "ERROR: This is not a safe way to run your "
+ "SCSI host\n"
+ "ERROR: The error handling must be added to "
+ "this driver\n", sht->proc_name);
+ dump_stack();
+ }
+
+ shost = kmalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
if (!shost)
return NULL;
+ memset(shost, 0, sizeof(struct Scsi_Host) + privsize);
spin_lock_init(&shost->default_lock);
scsi_assign_lock(shost, &shost->default_lock);