Changeset fe235a1 in rtems
- Timestamp:
- Aug 21, 2003, 5:05:56 PM (17 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- d36c457
- Parents:
- fc9caa91
- Location:
- c/src/lib/libbsp
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/i386/shared/ChangeLog
rfc9caa91 rfe235a1 1 2003-08-21 Till Strauman <strauman@slac.stanford.edu> 2 3 PR 456/bsps 4 * irq/irq.c: Fix race condition when installing an ISR. 5 1 6 2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2 7 -
c/src/lib/libbsp/i386/shared/irq/irq.c
rfc9caa91 rfe235a1 236 236 * to get the previous handler before accepting to disconnect. 237 237 */ 238 _CPU_ISR_Disable(level); 238 239 if (rtems_hdl_tbl[irq->name].hdl != default_rtems_entry.hdl) { 239 return 0;240 }241 _CPU_ISR_Disable(level);240 _CPU_ISR_Enable(level); 241 return 0; 242 } 242 243 243 244 /* … … 266 267 int BSP_get_current_rtems_irq_handler (rtems_irq_connect_data* irq) 267 268 { 269 unsigned int level; 270 268 271 if (!isValidInterrupt(irq->name)) { 269 272 return 0; 270 273 } 274 _CPU_ISR_Disable(level); 271 275 *irq = rtems_hdl_tbl[irq->name]; 276 _CPU_ISR_Enable(level); 272 277 return 1; 273 278 } … … 287 292 * to get the previous handler before accepting to disconnect. 288 293 */ 294 _CPU_ISR_Disable(level); 289 295 if (rtems_hdl_tbl[irq->name].hdl != irq->hdl) { 290 return 0;291 }292 _CPU_ISR_Disable(level);296 _CPU_ISR_Enable(level); 297 return 0; 298 } 293 299 294 300 /* -
c/src/lib/libbsp/powerpc/shared/ChangeLog
rfc9caa91 rfe235a1 1 2003-08-21 Till Strauman <strauman@slac.stanford.edu> 2 3 PR 456/bsps 4 * irq/irq.c: Fix race condition when installing an ISR. 5 1 6 2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2 7 -
c/src/lib/libbsp/powerpc/shared/irq/irq.c
rfc9caa91 rfe235a1 132 132 return 0; 133 133 } 134 135 _CPU_ISR_Disable(level); 136 134 137 if ( (int)rtems_hdl_tbl[irq->name].next_handler == -1 ) { 138 _CPU_ISR_Enable(level); 135 139 printk("IRQ vector %d already connected to an unshared handler\n",irq->name); 136 140 return 0; 137 141 } 138 _CPU_ISR_Disable(level);139 140 142 141 143 vchain = (rtems_irq_connect_data*)malloc(sizeof(rtems_irq_connect_data)); … … 202 204 * to get the previous handler before accepting to disconnect. 203 205 */ 206 _CPU_ISR_Disable(level); 204 207 if (rtems_hdl_tbl[irq->name].hdl != default_rtems_entry.hdl) { 208 _CPU_ISR_Enable(level); 205 209 printk("IRQ vector %d already connected\n",irq->name); 206 210 return 0; 207 211 } 208 _CPU_ISR_Disable(level);209 212 210 213 /* … … 246 249 int BSP_get_current_rtems_irq_handler (rtems_irq_connect_data* irq) 247 250 { 251 unsigned int level; 252 248 253 if (!isValidInterrupt(irq->name)) { 249 254 return 0; 250 255 } 256 _CPU_ISR_Disable(level); 251 257 *irq = rtems_hdl_tbl[irq->name]; 258 _CPU_ISR_Enable(level); 252 259 return 1; 253 260 } … … 268 275 * to get the previous handler before accepting to disconnect. 269 276 */ 277 _CPU_ISR_Disable(level); 270 278 if (rtems_hdl_tbl[irq->name].hdl != irq->hdl) { 279 _CPU_ISR_Enable(level); 271 280 return 0; 272 281 } 273 _CPU_ISR_Disable(level);274 282 275 283 if( (int)rtems_hdl_tbl[irq->name].next_handler != -1 )
Note: See TracChangeset
for help on using the changeset viewer.