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) { ...@@ -725,7 +725,7 @@ ips_release(struct Scsi_Host *sh) {
free_irq(ha->irq, ha); free_irq(ha->irq, ha);
IPS_REMOVE_HOST(sh); IPS_REMOVE_HOST(sh);
scsi_unregister(sh); scsi_host_put(sh);
ips_released_controllers++; ips_released_controllers++;
...@@ -6732,7 +6732,7 @@ static int ...@@ -6732,7 +6732,7 @@ static int
ips_register_scsi( int index){ ips_register_scsi( int index){
struct Scsi_Host *sh; struct Scsi_Host *sh;
ips_ha_t *ha, *oldha = ips_ha[index]; 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) { if(!sh) {
IPS_PRINTK(KERN_WARNING, oldha->pcidev, "Unable to register controller with SCSI subsystem\n"); IPS_PRINTK(KERN_WARNING, oldha->pcidev, "Unable to register controller with SCSI subsystem\n");
return -1; return -1;
...@@ -6743,7 +6743,7 @@ ips_register_scsi( int index){ ...@@ -6743,7 +6743,7 @@ ips_register_scsi( int index){
/* Install the interrupt handler with the new ha */ /* Install the interrupt handler with the new ha */
if (request_irq(ha->irq, do_ipsintr, SA_SHIRQ, ips_name, 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" ); IPS_PRINTK(KERN_WARNING, ha->pcidev, "Unable to install interrupt handler\n" );
scsi_unregister(sh); scsi_host_put(sh);
return -1; return -1;
} }
......
...@@ -45,7 +45,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf, ...@@ -45,7 +45,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
struct usb_host_interface *altsetting = intf->altsetting; struct usb_host_interface *altsetting = intf->altsetting;
struct hpusbscsi *new; struct hpusbscsi *new;
int error = -ENOMEM; int error = -ENOMEM;
int i, result; int i;
if (altsetting->desc.bNumEndpoints != 3) { if (altsetting->desc.bNumEndpoints != 3) {
printk (KERN_ERR "Wrong number of endpoints\n"); printk (KERN_ERR "Wrong number of endpoints\n");
...@@ -104,7 +104,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf, ...@@ -104,7 +104,7 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
goto out_free_controlurb; goto out_free_controlurb;
/* In host->hostdata we store a pointer to desc */ /* 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) if (!new->host)
goto out_unlink_controlurb; goto out_unlink_controlurb;
...@@ -137,7 +137,7 @@ hpusbscsi_usb_disconnect(struct usb_interface *intf) ...@@ -137,7 +137,7 @@ hpusbscsi_usb_disconnect(struct usb_interface *intf)
scsi_remove_host(desc->host); scsi_remove_host(desc->host);
usb_unlink_urb(desc->controlurb); usb_unlink_urb(desc->controlurb);
scsi_unregister(desc->host); scsi_host_put(desc->host);
usb_free_urb(desc->controlurb); usb_free_urb(desc->controlurb);
usb_free_urb(desc->dataurb); usb_free_urb(desc->dataurb);
......
...@@ -811,7 +811,7 @@ static int mts_usb_probe(struct usb_interface *intf, ...@@ -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", MTS_WARNING( "will this work? Image data EP is not usually %d\n",
(int)new_desc->ep_image ); (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)); sizeof(new_desc));
if (!new_desc->host) if (!new_desc->host)
goto out_free_urb; goto out_free_urb;
...@@ -838,7 +838,7 @@ static void mts_usb_disconnect (struct usb_interface *intf) ...@@ -838,7 +838,7 @@ static void mts_usb_disconnect (struct usb_interface *intf)
scsi_remove_host(desc->host); scsi_remove_host(desc->host);
usb_unlink_urb(desc->urb); usb_unlink_urb(desc->urb);
scsi_unregister(desc->host); scsi_host_put(desc->host);
usb_free_urb(desc->urb); usb_free_urb(desc->urb);
kfree(desc); 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