Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
clocksource: sh_cmt: Remove nested spinlock fix

+12 -7
+12 -7
drivers/clocksource/sh_cmt.c
··· 283 283 } while (delay); 284 284 } 285 285 286 + static void __sh_cmt_set_next(struct sh_cmt_priv *p, unsigned long delta) 287 + { 288 + if (delta > p->max_match_value) 289 + dev_warn(&p->pdev->dev, "delta out of range\n"); 290 + 291 + p->next_match_value = delta; 292 + sh_cmt_clock_event_program_verify(p, 0); 293 + } 294 + 286 295 static void sh_cmt_set_next(struct sh_cmt_priv *p, unsigned long delta) 287 296 { 288 297 unsigned long flags; 289 298 290 - if (delta > p->max_match_value) 291 - dev_warn(&p->pdev->dev, "delta out of range\n"); 292 - 293 299 spin_lock_irqsave(&p->lock, flags); 294 - p->next_match_value = delta; 295 - sh_cmt_clock_event_program_verify(p, 0); 300 + __sh_cmt_set_next(p, delta); 296 301 spin_unlock_irqrestore(&p->lock, flags); 297 302 } 298 303 ··· 364 359 365 360 /* setup timeout if no clockevent */ 366 361 if ((flag == FLAG_CLOCKSOURCE) && (!(p->flags & FLAG_CLOCKEVENT))) 367 - sh_cmt_set_next(p, p->max_match_value); 362 + __sh_cmt_set_next(p, p->max_match_value); 368 363 out: 369 364 spin_unlock_irqrestore(&p->lock, flags); 370 365 ··· 386 381 387 382 /* adjust the timeout to maximum if only clocksource left */ 388 383 if ((flag == FLAG_CLOCKEVENT) && (p->flags & FLAG_CLOCKSOURCE)) 389 - sh_cmt_set_next(p, p->max_match_value); 384 + __sh_cmt_set_next(p, p->max_match_value); 390 385 391 386 spin_unlock_irqrestore(&p->lock, flags); 392 387 }