Commit 43f427d4 authored by Christoph Hellwig's avatar Christoph Hellwig

[PATCH] missing scsi_host_alloc bits

Sorry, I sent you the old patch again.  Here's the missing driver bits.
parent 06f222c4
......@@ -725,7 +725,7 @@ ips_release(struct Scsi_Host *sh) {
free_irq(ha->irq, ha);
IPS_REMOVE_HOST(sh);
scsi_unregister(sh);
scsi_host_put(sh);
ips_released_controllers++;
......@@ -6732,7 +6732,7 @@ static int
ips_register_scsi( int index){
struct Scsi_Host *sh;
ips_ha_t *ha, *oldha = ips_ha[index];
sh = scsi_register(&ips_driver_template, sizeof(ips_ha_t));
sh = scsi_host_alloc(&ips_driver_template, sizeof(ips_ha_t));
if(!sh) {
IPS_PRINTK(KERN_WARNING, oldha->pcidev, "Unable to register controller with SCSI subsystem\n");
return -1;
......@@ -6743,7 +6743,7 @@ ips_register_scsi( int index){
/* Install the interrupt handler with the new ha */
if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, ha)) {
IPS_PRINTK(KERN_WARNING, ha->pcidev, "Unable to install interrupt handler\n" );
scsi_unregister(sh);
scsi_host_put(sh);
return -1;
}
......
......@@ -45,7 +45,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
struct usb_host_interface *altsetting = intf->altsetting;
struct hpusbscsi *new;
int error = -ENOMEM;
int i, result;
int i;
if (altsetting->desc.bNumEndpoints != 3) {
printk (KERN_ERR "Wrong number of endpoints\n");
......@@ -104,7 +104,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
goto out_free_controlurb;
/* In host->hostdata we store a pointer to desc */
new->host = scsi_register(&hpusbscsi_scsi_host_template, sizeof(new));
new->host = scsi_host_alloc(&hpusbscsi_scsi_host_template, sizeof(new));
if (!new->host)
goto out_unlink_controlurb;
......@@ -137,7 +137,7 @@ hpusbscsi_usb_disconnect(struct usb_interface *intf)
scsi_remove_host(desc->host);
usb_unlink_urb(desc->controlurb);
scsi_unregister(desc->host);
scsi_host_put(desc->host);
usb_free_urb(desc->controlurb);
usb_free_urb(desc->dataurb);
......
......@@ -811,7 +811,7 @@ static int mts_usb_probe(struct usb_interface *intf,
MTS_WARNING( "will this work? Image data EP is not usually %d\n",
(int)new_desc->ep_image );
new_desc->host = scsi_register(&mts_scsi_host_template,
new_desc->host = scsi_host_alloc(&mts_scsi_host_template,
sizeof(new_desc));
if (!new_desc->host)
goto out_free_urb;
......@@ -838,7 +838,7 @@ static void mts_usb_disconnect (struct usb_interface *intf)
scsi_remove_host(desc->host);
usb_unlink_urb(desc->urb);
scsi_unregister(desc->host);
scsi_host_put(desc->host);
usb_free_urb(desc->urb);
kfree(desc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment