Loading Documentation/connector/cn_test.c +2 −4 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ static void cn_test_timer_func(unsigned long __data) memcpy(m + 1, data, m->len); cn_netlink_send(m, 0, gfp_any()); cn_netlink_send(m, 0, GFP_ATOMIC); kfree(m); } Loading @@ -160,10 +160,8 @@ static int cn_test_init(void) goto err_out; } init_timer(&cn_test_timer); cn_test_timer.function = cn_test_timer_func; setup_timer(&cn_test_timer, cn_test_timer_func, 0); cn_test_timer.expires = jiffies + HZ; cn_test_timer.data = 0; add_timer(&cn_test_timer); return 0; Loading Makefile +1 −1 Original line number Diff line number Diff line VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = -rc4 EXTRAVERSION = -rc5 NAME = Erotic Pickled Herring # *DOCUMENTATION* Loading drivers/atm/fore200e.c +2 −2 Original line number Diff line number Diff line Loading @@ -2519,8 +2519,8 @@ fore200e_load_and_start_fw(struct fore200e* fore200e) return err; sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT); if (request_firmware(&firmware, buf, device) == 1) { printk(FORE200E "missing %s firmware image\n", fore200e->bus->model_name); if ((err = request_firmware(&firmware, buf, device)) < 0) { printk(FORE200E "problem loading firmware image %s\n", fore200e->bus->model_name); return err; } Loading drivers/net/3c505.c +16 −10 Original line number Diff line number Diff line Loading @@ -493,21 +493,27 @@ static bool receive_pcb(struct net_device *dev, pcb_struct * pcb) } /* read the data */ spin_lock_irqsave(&adapter->lock, flags); i = 0; do { j = 0; while (((stat = get_status(dev->base_addr)) & ACRF) == 0 && j++ < 20000); pcb->data.raw[i++] = inb_command(dev->base_addr); if (i > MAX_PCB_DATA) INVALID_PCB_MSG(i); } while ((stat & ASF_PCB_MASK) != ASF_PCB_END && j < 20000); for (i = 0; i < MAX_PCB_DATA; i++) { for (j = 0; j < 20000; j++) { stat = get_status(dev->base_addr); if (stat & ACRF) break; } pcb->data.raw[i] = inb_command(dev->base_addr); if ((stat & ASF_PCB_MASK) == ASF_PCB_END || j >= 20000) break; } spin_unlock_irqrestore(&adapter->lock, flags); if (i >= MAX_PCB_DATA) { INVALID_PCB_MSG(i); return false; } if (j >= 20000) { TIMEOUT_MSG(__LINE__); return false; } /* woops, the last "data" byte was really the length! */ total_length = pcb->data.raw[--i]; /* the last "data" byte was really the length! */ total_length = pcb->data.raw[i]; /* safety check total length vs data length */ if (total_length != (pcb->length + 2)) { Loading drivers/net/bnx2.c +22 −14 Original line number Diff line number Diff line /* bnx2.c: Broadcom NX2 network driver. * * Copyright (c) 2004-2008 Broadcom Corporation * Copyright (c) 2004-2009 Broadcom Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -57,8 +57,8 @@ #define DRV_MODULE_NAME "bnx2" #define PFX DRV_MODULE_NAME ": " #define DRV_MODULE_VERSION "1.9.0" #define DRV_MODULE_RELDATE "Dec 16, 2008" #define DRV_MODULE_VERSION "1.9.2" #define DRV_MODULE_RELDATE "Feb 11, 2009" #define RUN_AT(x) (jiffies + (x)) Loading Loading @@ -2910,18 +2910,8 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) rx_hdr = (struct l2_fhdr *) skb->data; len = rx_hdr->l2_fhdr_pkt_len; status = rx_hdr->l2_fhdr_status; if ((status = rx_hdr->l2_fhdr_status) & (L2_FHDR_ERRORS_BAD_CRC | L2_FHDR_ERRORS_PHY_DECODE | L2_FHDR_ERRORS_ALIGNMENT | L2_FHDR_ERRORS_TOO_SHORT | L2_FHDR_ERRORS_GIANT_FRAME)) { bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, sw_ring_prod); goto next_rx; } hdr_len = 0; if (status & L2_FHDR_STATUS_SPLIT) { hdr_len = rx_hdr->l2_fhdr_ip_xsum; Loading @@ -2931,6 +2921,24 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) pg_ring_used = 1; } if (unlikely(status & (L2_FHDR_ERRORS_BAD_CRC | L2_FHDR_ERRORS_PHY_DECODE | L2_FHDR_ERRORS_ALIGNMENT | L2_FHDR_ERRORS_TOO_SHORT | L2_FHDR_ERRORS_GIANT_FRAME))) { bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, sw_ring_prod); if (pg_ring_used) { int pages; pages = PAGE_ALIGN(len - hdr_len) >> PAGE_SHIFT; bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages); } goto next_rx; } len -= 4; if (len <= bp->rx_copy_thresh) { Loading Loading
Documentation/connector/cn_test.c +2 −4 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ static void cn_test_timer_func(unsigned long __data) memcpy(m + 1, data, m->len); cn_netlink_send(m, 0, gfp_any()); cn_netlink_send(m, 0, GFP_ATOMIC); kfree(m); } Loading @@ -160,10 +160,8 @@ static int cn_test_init(void) goto err_out; } init_timer(&cn_test_timer); cn_test_timer.function = cn_test_timer_func; setup_timer(&cn_test_timer, cn_test_timer_func, 0); cn_test_timer.expires = jiffies + HZ; cn_test_timer.data = 0; add_timer(&cn_test_timer); return 0; Loading
Makefile +1 −1 Original line number Diff line number Diff line VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = -rc4 EXTRAVERSION = -rc5 NAME = Erotic Pickled Herring # *DOCUMENTATION* Loading
drivers/atm/fore200e.c +2 −2 Original line number Diff line number Diff line Loading @@ -2519,8 +2519,8 @@ fore200e_load_and_start_fw(struct fore200e* fore200e) return err; sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT); if (request_firmware(&firmware, buf, device) == 1) { printk(FORE200E "missing %s firmware image\n", fore200e->bus->model_name); if ((err = request_firmware(&firmware, buf, device)) < 0) { printk(FORE200E "problem loading firmware image %s\n", fore200e->bus->model_name); return err; } Loading
drivers/net/3c505.c +16 −10 Original line number Diff line number Diff line Loading @@ -493,21 +493,27 @@ static bool receive_pcb(struct net_device *dev, pcb_struct * pcb) } /* read the data */ spin_lock_irqsave(&adapter->lock, flags); i = 0; do { j = 0; while (((stat = get_status(dev->base_addr)) & ACRF) == 0 && j++ < 20000); pcb->data.raw[i++] = inb_command(dev->base_addr); if (i > MAX_PCB_DATA) INVALID_PCB_MSG(i); } while ((stat & ASF_PCB_MASK) != ASF_PCB_END && j < 20000); for (i = 0; i < MAX_PCB_DATA; i++) { for (j = 0; j < 20000; j++) { stat = get_status(dev->base_addr); if (stat & ACRF) break; } pcb->data.raw[i] = inb_command(dev->base_addr); if ((stat & ASF_PCB_MASK) == ASF_PCB_END || j >= 20000) break; } spin_unlock_irqrestore(&adapter->lock, flags); if (i >= MAX_PCB_DATA) { INVALID_PCB_MSG(i); return false; } if (j >= 20000) { TIMEOUT_MSG(__LINE__); return false; } /* woops, the last "data" byte was really the length! */ total_length = pcb->data.raw[--i]; /* the last "data" byte was really the length! */ total_length = pcb->data.raw[i]; /* safety check total length vs data length */ if (total_length != (pcb->length + 2)) { Loading
drivers/net/bnx2.c +22 −14 Original line number Diff line number Diff line /* bnx2.c: Broadcom NX2 network driver. * * Copyright (c) 2004-2008 Broadcom Corporation * Copyright (c) 2004-2009 Broadcom Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -57,8 +57,8 @@ #define DRV_MODULE_NAME "bnx2" #define PFX DRV_MODULE_NAME ": " #define DRV_MODULE_VERSION "1.9.0" #define DRV_MODULE_RELDATE "Dec 16, 2008" #define DRV_MODULE_VERSION "1.9.2" #define DRV_MODULE_RELDATE "Feb 11, 2009" #define RUN_AT(x) (jiffies + (x)) Loading Loading @@ -2910,18 +2910,8 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) rx_hdr = (struct l2_fhdr *) skb->data; len = rx_hdr->l2_fhdr_pkt_len; status = rx_hdr->l2_fhdr_status; if ((status = rx_hdr->l2_fhdr_status) & (L2_FHDR_ERRORS_BAD_CRC | L2_FHDR_ERRORS_PHY_DECODE | L2_FHDR_ERRORS_ALIGNMENT | L2_FHDR_ERRORS_TOO_SHORT | L2_FHDR_ERRORS_GIANT_FRAME)) { bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, sw_ring_prod); goto next_rx; } hdr_len = 0; if (status & L2_FHDR_STATUS_SPLIT) { hdr_len = rx_hdr->l2_fhdr_ip_xsum; Loading @@ -2931,6 +2921,24 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) pg_ring_used = 1; } if (unlikely(status & (L2_FHDR_ERRORS_BAD_CRC | L2_FHDR_ERRORS_PHY_DECODE | L2_FHDR_ERRORS_ALIGNMENT | L2_FHDR_ERRORS_TOO_SHORT | L2_FHDR_ERRORS_GIANT_FRAME))) { bnx2_reuse_rx_skb(bp, rxr, skb, sw_ring_cons, sw_ring_prod); if (pg_ring_used) { int pages; pages = PAGE_ALIGN(len - hdr_len) >> PAGE_SHIFT; bnx2_reuse_rx_skb_pages(bp, rxr, NULL, pages); } goto next_rx; } len -= 4; if (len <= bp->rx_copy_thresh) { Loading