On Fri, Jun 19, 2015 at 04:15:12AM -0700, Christoph Hellwig wrote:
> > @@ -79,7 +79,8 @@ static int _scsih_scan_finished(struct Scsi_Host *shost,
> > unsigned long time);
> >
> > /* global parameters */
> > LIST_HEAD(mpt2sas_ioc_list);
> > -
> > +/* global ioc lock for list operations */
> > +spinlock_t gioc_lock;
> > /* local parameters */
> > static u8 scsi_io_cb_idx = -1;
> > static u8 tm_cb_idx = -1;
> > @@ -279,6 +280,20 @@ static struct pci_device_id scsih_pci_table[] = {
> > MODULE_DEVICE_TABLE(pci, scsih_pci_table);
> >
> > /**
> > + * mpt2sas_initialize_gioc_lock - initialize the gobal ioc lock
> > + */
> > +void
> > +mpt2sas_initialize_gioc_lock(void)
> > +{
> > + static int gioc_lock_initialize;
> > +
> > + if (!gioc_lock_initialize) {
> > + spin_lock_init(&gioc_lock);
> > + gioc_lock_initialize = 1;
> > + }
> > +}
>
> Just use DEFINE_SPINLOCK() to initialize the lock at compile time.
Or yes, even better.
--
Johannes Thumshirn Storage
[email protected] +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in