Skip to content

Commit

Permalink
[PATCH] libata-hp-prep: add ata_aux_wq
Browse files Browse the repository at this point in the history
It's best to run ATA hotplug from EH but attaching SCSI devices needs
working EH.  ata_aux_wq is used to give SCSI hotplug operations a
separate context.

Signed-off-by: Tejun Heo <htejun@gmail.com>
  • Loading branch information
Tejun Heo committed May 31, 2006
1 parent 3edebac commit 453b07a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/scsi/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ static void ata_dev_xfermask(struct ata_device *dev);
static unsigned int ata_unique_id = 1;
static struct workqueue_struct *ata_wq;

struct workqueue_struct *ata_aux_wq;

int atapi_enabled = 1;
module_param(atapi_enabled, int, 0444);
MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off, 1=on)");
Expand Down Expand Up @@ -5623,13 +5625,20 @@ static int __init ata_init(void)
if (!ata_wq)
return -ENOMEM;

ata_aux_wq = create_singlethread_workqueue("ata_aux");
if (!ata_aux_wq) {
destroy_workqueue(ata_wq);
return -ENOMEM;
}

printk(KERN_DEBUG "libata version " DRV_VERSION " loaded.\n");
return 0;
}

static void __exit ata_exit(void)
{
destroy_workqueue(ata_wq);
destroy_workqueue(ata_aux_wq);
}

module_init(ata_init);
Expand Down
1 change: 1 addition & 0 deletions drivers/scsi/libata.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ struct ata_scsi_args {
};

/* libata-core.c */
extern struct workqueue_struct *ata_aux_wq;
extern int atapi_enabled;
extern int atapi_dmadir;
extern int libata_fua;
Expand Down

0 comments on commit 453b07a

Please sign in to comment.