提交 604119a4 编写于 作者: J Jeff Garzik

Merge branch 'upstream-fixes' of...

Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into tmp
...@@ -2852,7 +2852,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, ...@@ -2852,7 +2852,7 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
if (rc) { if (rc) {
airo_print_err(dev->name, "register interrupt %d failed, rc %d", airo_print_err(dev->name, "register interrupt %d failed, rc %d",
irq, rc); irq, rc);
goto err_out_unlink; goto err_out_nets;
} }
if (!is_pcmcia) { if (!is_pcmcia) {
if (!request_region( dev->base_addr, 64, dev->name )) { if (!request_region( dev->base_addr, 64, dev->name )) {
...@@ -2935,6 +2935,8 @@ static struct net_device *_init_airo_card( unsigned short irq, int port, ...@@ -2935,6 +2935,8 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
release_region( dev->base_addr, 64 ); release_region( dev->base_addr, 64 );
err_out_irq: err_out_irq:
free_irq(dev->irq, dev); free_irq(dev->irq, dev);
err_out_nets:
airo_networks_free(ai);
err_out_unlink: err_out_unlink:
del_airo_dev(dev); del_airo_dev(dev);
err_out_thr: err_out_thr:
......
...@@ -882,10 +882,10 @@ static void _stack_save(u32 *_stackptr, size_t *stackidx, ...@@ -882,10 +882,10 @@ static void _stack_save(u32 *_stackptr, size_t *stackidx,
{ {
u32 *stackptr = &(_stackptr[*stackidx]); u32 *stackptr = &(_stackptr[*stackidx]);
assert((offset & 0xF000) == 0x0000); assert((offset & 0xE000) == 0x0000);
assert((id & 0xF0) == 0x00); assert((id & 0xF8) == 0x00);
*stackptr = offset; *stackptr = offset;
*stackptr |= ((u32)id) << 12; *stackptr |= ((u32)id) << 13;
*stackptr |= ((u32)value) << 16; *stackptr |= ((u32)value) << 16;
(*stackidx)++; (*stackidx)++;
assert(*stackidx < BCM43xx_INTERFSTACK_SIZE); assert(*stackidx < BCM43xx_INTERFSTACK_SIZE);
...@@ -896,12 +896,12 @@ static u16 _stack_restore(u32 *stackptr, ...@@ -896,12 +896,12 @@ static u16 _stack_restore(u32 *stackptr,
{ {
size_t i; size_t i;
assert((offset & 0xF000) == 0x0000); assert((offset & 0xE000) == 0x0000);
assert((id & 0xF0) == 0x00); assert((id & 0xF8) == 0x00);
for (i = 0; i < BCM43xx_INTERFSTACK_SIZE; i++, stackptr++) { for (i = 0; i < BCM43xx_INTERFSTACK_SIZE; i++, stackptr++) {
if ((*stackptr & 0x00000FFF) != offset) if ((*stackptr & 0x00001FFF) != offset)
continue; continue;
if (((*stackptr & 0x0000F000) >> 12) != id) if (((*stackptr & 0x00007000) >> 13) != id)
continue; continue;
return ((*stackptr & 0xFFFF0000) >> 16); return ((*stackptr & 0xFFFF0000) >> 16);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册