]>
Commit | Line | Data |
---|---|---|
c9d1c54c AM |
1 | --- linux-2.6.8-rc3/arch/i386/crypto/Makefile.orig 2004-08-07 14:54:25.000000000 +0200 |
2 | +++ linux-2.6.8-rc3/arch/i386/crypto/Makefile 2004-08-07 18:41:49.000000000 +0200 | |
3 | @@ -6,4 +6,4 @@ | |
4 | ||
5 | obj-$(CONFIG_CRYPTO_AES_586) += aes-i586.o | |
6 | ||
7 | -aes-i586-y := aes-i586-asm.o aes.o | |
8 | +aes-i586-objs := aes-i586-asm.o aes.o | |
9 | ||
10 | --- linux-2.6.8/drivers/scsi/scsi_sysfs.c.orig 2004-08-14 14:36:42.953272032 +0200 | |
11 | +++ linux-2.6.8/drivers/scsi/scsi_sysfs.c 2004-08-14 14:36:47.490582256 +0200 | |
12 | @@ -190,6 +190,7 @@ | |
13 | .name = "scsi", | |
14 | .match = scsi_bus_match, | |
15 | }; | |
16 | +EXPORT_SYMBOL(scsi_bus_type); | |
17 | ||
18 | int scsi_sysfs_register(void) | |
19 | { | |
20 | --- linux-2.6.9-rc1/drivers/scsi/qla2xxx/qla_os.c.orig 2004-08-29 16:44:20.000000000 +0200 | |
21 | +++ linux-2.6.9-rc1/drivers/scsi/qla2xxx/qla_os.c 2004-08-29 18:39:44.022077312 +0200 | |
22 | @@ -229,72 +229,10 @@ | |
23 | ||
24 | void qla2x00_cmd_timeout(srb_t *); | |
25 | ||
26 | -static __inline__ void qla2x00_callback(scsi_qla_host_t *, struct scsi_cmnd *); | |
27 | -static __inline__ void sp_put(struct scsi_qla_host * ha, srb_t *sp); | |
28 | -static __inline__ void sp_get(struct scsi_qla_host * ha, srb_t *sp); | |
29 | -static __inline__ void | |
30 | -qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *); | |
31 | - | |
32 | -/************************************************************************** | |
33 | -* sp_put | |
34 | -* | |
35 | -* Description: | |
36 | -* Decrement reference count and call the callback if we're the last | |
37 | -* owner of the specified sp. Will get the host_lock before calling | |
38 | -* the callback. | |
39 | -* | |
40 | -* Input: | |
41 | -* ha - pointer to the scsi_qla_host_t where the callback is to occur. | |
42 | -* sp - pointer to srb_t structure to use. | |
43 | -* | |
44 | -* Returns: | |
45 | -* | |
46 | -**************************************************************************/ | |
47 | -static inline void | |
48 | -sp_put(struct scsi_qla_host * ha, srb_t *sp) | |
49 | -{ | |
50 | - if (atomic_read(&sp->ref_count) == 0) { | |
51 | - qla_printk(KERN_INFO, ha, | |
52 | - "%s(): **** SP->ref_count not zero\n", | |
53 | - __func__); | |
54 | - DEBUG2(BUG();) | |
55 | - | |
56 | - return; | |
57 | - } | |
58 | - | |
59 | - if (!atomic_dec_and_test(&sp->ref_count)) { | |
60 | - return; | |
61 | - } | |
62 | - | |
63 | - qla2x00_callback(ha, sp->cmd); | |
64 | -} | |
65 | - | |
66 | -/************************************************************************** | |
67 | -* sp_get | |
68 | -* | |
69 | -* Description: | |
70 | -* Increment reference count of the specified sp. | |
71 | -* | |
72 | -* Input: | |
73 | -* sp - pointer to srb_t structure to use. | |
74 | -* | |
75 | -* Returns: | |
76 | -* | |
77 | -**************************************************************************/ | |
78 | +static inline void sp_put(struct scsi_qla_host * ha, srb_t *sp); | |
79 | +static inline void sp_get(struct scsi_qla_host * ha, srb_t *sp); | |
80 | static inline void | |
81 | -sp_get(struct scsi_qla_host * ha, srb_t *sp) | |
82 | -{ | |
83 | - atomic_inc(&sp->ref_count); | |
84 | - | |
85 | - if (atomic_read(&sp->ref_count) > 2) { | |
86 | - qla_printk(KERN_INFO, ha, | |
87 | - "%s(): **** SP->ref_count greater than two\n", | |
88 | - __func__); | |
89 | - DEBUG2(BUG();) | |
90 | - | |
91 | - return; | |
92 | - } | |
93 | -} | |
94 | +qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *); | |
95 | ||
96 | /* | |
97 | * qla2x00_callback | |
98 | @@ -366,6 +304,68 @@ | |
99 | (*(cmd)->scsi_done)(cmd); | |
100 | } | |
101 | ||
102 | +/************************************************************************** | |
103 | +* sp_put | |
104 | +* | |
105 | +* Description: | |
106 | +* Decrement reference count and call the callback if we're the last | |
107 | +* owner of the specified sp. Will get the host_lock before calling | |
108 | +* the callback. | |
109 | +* | |
110 | +* Input: | |
111 | +* ha - pointer to the scsi_qla_host_t where the callback is to occur. | |
112 | +* sp - pointer to srb_t structure to use. | |
113 | +* | |
114 | +* Returns: | |
115 | +* | |
116 | +**************************************************************************/ | |
117 | +static inline void | |
118 | +sp_put(struct scsi_qla_host * ha, srb_t *sp) | |
119 | +{ | |
120 | + if (atomic_read(&sp->ref_count) == 0) { | |
121 | + qla_printk(KERN_INFO, ha, | |
122 | + "%s(): **** SP->ref_count not zero\n", | |
123 | + __func__); | |
124 | + DEBUG2(BUG();) | |
125 | + | |
126 | + return; | |
127 | + } | |
128 | + | |
129 | + if (!atomic_dec_and_test(&sp->ref_count)) { | |
130 | + return; | |
131 | + } | |
132 | + | |
133 | + qla2x00_callback(ha, sp->cmd); | |
134 | +} | |
135 | + | |
136 | +/************************************************************************** | |
137 | +* sp_get | |
138 | +* | |
139 | +* Description: | |
140 | +* Increment reference count of the specified sp. | |
141 | +* | |
142 | +* Input: | |
143 | +* sp - pointer to srb_t structure to use. | |
144 | +* | |
145 | +* Returns: | |
146 | +* | |
147 | +**************************************************************************/ | |
148 | +static inline void | |
149 | +sp_get(struct scsi_qla_host * ha, srb_t *sp) | |
150 | +{ | |
151 | + atomic_inc(&sp->ref_count); | |
152 | + | |
153 | + if (atomic_read(&sp->ref_count) > 2) { | |
154 | + qla_printk(KERN_INFO, ha, | |
155 | + "%s(): **** SP->ref_count greater than two\n", | |
156 | + __func__); | |
157 | + DEBUG2(BUG();) | |
158 | + | |
159 | + return; | |
160 | + } | |
161 | +} | |
162 | + | |
163 | + | |
164 | static inline void | |
165 | qla2x00_delete_from_done_queue(scsi_qla_host_t *dest_ha, srb_t *sp) | |
166 | { | |
167 | --- linux-2.6.9-rc1/drivers/scsi/qla2xxx/qla_rscn.c.orig 2004-08-24 09:02:26.000000000 +0200 | |
168 | +++ linux-2.6.9-rc1/drivers/scsi/qla2xxx/qla_rscn.c 2004-08-29 18:50:47.678186248 +0200 | |
169 | @@ -242,6 +242,20 @@ | |
170 | } | |
171 | ||
172 | /** | |
173 | + * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. | |
174 | + * @iodesc: io descriptor | |
175 | + */ | |
176 | +static inline void | |
177 | +qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) | |
178 | +{ | |
179 | + if (iodesc->timer.function != NULL) { | |
180 | + del_timer_sync(&iodesc->timer); | |
181 | + iodesc->timer.data = (unsigned long) NULL; | |
182 | + iodesc->timer.function = NULL; | |
183 | + } | |
184 | +} | |
185 | + | |
186 | +/** | |
187 | * qla2x00_init_io_descriptors() - Initialize the pool of IO descriptors. | |
188 | * @ha: HA context | |
189 | */ | |
190 | @@ -311,19 +325,6 @@ | |
191 | add_timer(&iodesc->timer); | |
192 | } | |
193 | ||
194 | -/** | |
195 | - * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. | |
196 | - * @iodesc: io descriptor | |
197 | - */ | |
198 | -static inline void | |
199 | -qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) | |
200 | -{ | |
201 | - if (iodesc->timer.function != NULL) { | |
202 | - del_timer_sync(&iodesc->timer); | |
203 | - iodesc->timer.data = (unsigned long) NULL; | |
204 | - iodesc->timer.function = NULL; | |
205 | - } | |
206 | -} | |
207 | ||
208 | /** | |
209 | * IO descriptor support routines. | |
210 | diff -puN include/linux/spinlock.h~fix_outofline_spinlocks include/linux/spinlock.h | |
211 | --- gr_work/include/linux/spinlock.h~fix_outofline_spinlocks 2004-09-05 02:05:53.243858818 -0500 | |
212 | +++ gr_work-anton/include/linux/spinlock.h 2004-09-05 02:06:06.177805993 -0500 | |
213 | @@ -38,7 +38,7 @@ | |
214 | #ifdef CONFIG_SMP | |
215 | #include <asm/spinlock.h> | |
216 | ||
217 | -#define __lockfunc fastcall __attribute__((section(".spinlock.text"))) | |
218 | +#define __lockfunc fastcall __attribute__((section(".lock.text"))) | |
219 | ||
220 | int __lockfunc _spin_trylock(spinlock_t *lock); | |
221 | int __lockfunc _write_trylock(rwlock_t *lock); |