diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/netconsole.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 20 |
2 files changed, 13 insertions, 17 deletions
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 665341e43055..387a13395015 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
@@ -585,8 +585,9 @@ static struct config_item_type netconsole_target_type = { | |||
585 | * Group operations and type for netconsole_subsys. | 585 | * Group operations and type for netconsole_subsys. |
586 | */ | 586 | */ |
587 | 587 | ||
588 | static struct config_item *make_netconsole_target(struct config_group *group, | 588 | static int make_netconsole_target(struct config_group *group, |
589 | const char *name) | 589 | const char *name, |
590 | struct config_item **new_item) | ||
590 | { | 591 | { |
591 | unsigned long flags; | 592 | unsigned long flags; |
592 | struct netconsole_target *nt; | 593 | struct netconsole_target *nt; |
@@ -598,7 +599,7 @@ static struct config_item *make_netconsole_target(struct config_group *group, | |||
598 | nt = kzalloc(sizeof(*nt), GFP_KERNEL); | 599 | nt = kzalloc(sizeof(*nt), GFP_KERNEL); |
599 | if (!nt) { | 600 | if (!nt) { |
600 | printk(KERN_ERR "netconsole: failed to allocate memory\n"); | 601 | printk(KERN_ERR "netconsole: failed to allocate memory\n"); |
601 | return NULL; | 602 | return -ENOMEM; |
602 | } | 603 | } |
603 | 604 | ||
604 | nt->np.name = "netconsole"; | 605 | nt->np.name = "netconsole"; |
@@ -615,7 +616,8 @@ static struct config_item *make_netconsole_target(struct config_group *group, | |||
615 | list_add(&nt->list, &target_list); | 616 | list_add(&nt->list, &target_list); |
616 | spin_unlock_irqrestore(&target_list_lock, flags); | 617 | spin_unlock_irqrestore(&target_list_lock, flags); |
617 | 618 | ||
618 | return &nt->item; | 619 | *new_item = &nt->item; |
620 | return 0; | ||
619 | } | 621 | } |
620 | 622 | ||
621 | static void drop_netconsole_target(struct config_group *group, | 623 | static void drop_netconsole_target(struct config_group *group, |
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 3dd537be87d8..b54e2ea8346b 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/net/wireless/libertas/if_sdio.c | 2 | * linux/drivers/net/wireless/libertas/if_sdio.c |
3 | * | 3 | * |
4 | * Copyright 2007 Pierre Ossman | 4 | * Copyright 2007-2008 Pierre Ossman |
5 | * | 5 | * |
6 | * Inspired by if_cs.c, Copyright 2007 Holger Schurig | 6 | * Inspired by if_cs.c, Copyright 2007 Holger Schurig |
7 | * | 7 | * |
@@ -266,13 +266,10 @@ static int if_sdio_card_to_host(struct if_sdio_card *card) | |||
266 | 266 | ||
267 | /* | 267 | /* |
268 | * The transfer must be in one transaction or the firmware | 268 | * The transfer must be in one transaction or the firmware |
269 | * goes suicidal. | 269 | * goes suicidal. There's no way to guarantee that for all |
270 | * controllers, but we can at least try. | ||
270 | */ | 271 | */ |
271 | chunk = size; | 272 | chunk = sdio_align_size(card->func, size); |
272 | if ((chunk > card->func->cur_blksize) || (chunk > 512)) { | ||
273 | chunk = (chunk + card->func->cur_blksize - 1) / | ||
274 | card->func->cur_blksize * card->func->cur_blksize; | ||
275 | } | ||
276 | 273 | ||
277 | ret = sdio_readsb(card->func, card->buffer, card->ioport, chunk); | 274 | ret = sdio_readsb(card->func, card->buffer, card->ioport, chunk); |
278 | if (ret) | 275 | if (ret) |
@@ -696,13 +693,10 @@ static int if_sdio_host_to_card(struct lbs_private *priv, | |||
696 | 693 | ||
697 | /* | 694 | /* |
698 | * The transfer must be in one transaction or the firmware | 695 | * The transfer must be in one transaction or the firmware |
699 | * goes suicidal. | 696 | * goes suicidal. There's no way to guarantee that for all |
697 | * controllers, but we can at least try. | ||
700 | */ | 698 | */ |
701 | size = nb + 4; | 699 | size = sdio_align_size(card->func, nb + 4); |
702 | if ((size > card->func->cur_blksize) || (size > 512)) { | ||
703 | size = (size + card->func->cur_blksize - 1) / | ||
704 | card->func->cur_blksize * card->func->cur_blksize; | ||
705 | } | ||
706 | 700 | ||
707 | packet = kzalloc(sizeof(struct if_sdio_packet) + size, | 701 | packet = kzalloc(sizeof(struct if_sdio_packet) + size, |
708 | GFP_ATOMIC); | 702 | GFP_ATOMIC); |