diff options
Diffstat (limited to 'drivers/ieee1394/hosts.c')
| -rw-r--r-- | drivers/ieee1394/hosts.c | 23 | 
1 files changed, 10 insertions, 13 deletions
diff --git a/drivers/ieee1394/hosts.c b/drivers/ieee1394/hosts.c index 4feead4a35c5..d90a3a1898c0 100644 --- a/drivers/ieee1394/hosts.c +++ b/drivers/ieee1394/hosts.c  | |||
| @@ -90,6 +90,16 @@ static int alloc_hostnum_cb(struct hpsb_host *host, void *__data) | |||
| 90 | return 0; | 90 | return 0; | 
| 91 | } | 91 | } | 
| 92 | 92 | ||
| 93 | /* | ||
| 94 | * The pending_packet_queue is special in that it's processed | ||
| 95 | * from hardirq context too (such as hpsb_bus_reset()). Hence | ||
| 96 | * split the lock class from the usual networking skb-head | ||
| 97 | * lock class by using a separate key for it: | ||
| 98 | */ | ||
| 99 | static struct lock_class_key pending_packet_queue_key; | ||
| 100 | |||
| 101 | static DEFINE_MUTEX(host_num_alloc); | ||
| 102 | |||
| 93 | /** | 103 | /** | 
| 94 | * hpsb_alloc_host - allocate a new host controller. | 104 | * hpsb_alloc_host - allocate a new host controller. | 
| 95 | * @drv: the driver that will manage the host controller | 105 | * @drv: the driver that will manage the host controller | 
| @@ -105,16 +115,6 @@ static int alloc_hostnum_cb(struct hpsb_host *host, void *__data) | |||
| 105 | * Return Value: a pointer to the &hpsb_host if successful, %NULL if | 115 | * Return Value: a pointer to the &hpsb_host if successful, %NULL if | 
| 106 | * no memory was available. | 116 | * no memory was available. | 
| 107 | */ | 117 | */ | 
| 108 | static DEFINE_MUTEX(host_num_alloc); | ||
| 109 | |||
| 110 | /* | ||
| 111 | * The pending_packet_queue is special in that it's processed | ||
| 112 | * from hardirq context too (such as hpsb_bus_reset()). Hence | ||
| 113 | * split the lock class from the usual networking skb-head | ||
| 114 | * lock class by using a separate key for it: | ||
| 115 | */ | ||
| 116 | static struct lock_class_key pending_packet_queue_key; | ||
| 117 | |||
| 118 | struct hpsb_host *hpsb_alloc_host(struct hpsb_host_driver *drv, size_t extra, | 118 | struct hpsb_host *hpsb_alloc_host(struct hpsb_host_driver *drv, size_t extra, | 
| 119 | struct device *dev) | 119 | struct device *dev) | 
| 120 | { | 120 | { | 
| @@ -143,9 +143,6 @@ struct hpsb_host *hpsb_alloc_host(struct hpsb_host_driver *drv, size_t extra, | |||
| 143 | for (i = 2; i < 16; i++) | 143 | for (i = 2; i < 16; i++) | 
| 144 | h->csr.gen_timestamp[i] = jiffies - 60 * HZ; | 144 | h->csr.gen_timestamp[i] = jiffies - 60 * HZ; | 
| 145 | 145 | ||
| 146 | for (i = 0; i < ARRAY_SIZE(h->tpool); i++) | ||
| 147 | HPSB_TPOOL_INIT(&h->tpool[i]); | ||
| 148 | |||
| 149 | atomic_set(&h->generation, 0); | 146 | atomic_set(&h->generation, 0); | 
| 150 | 147 | ||
| 151 | INIT_WORK(&h->delayed_reset, delayed_reset_bus, h); | 148 | INIT_WORK(&h->delayed_reset, delayed_reset_bus, h); | 
