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); |