Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9abd6030 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core

Conflicts:
	kernel/trace/trace_mmiotrace.c
parents 5fb896a4 f9aa28ad
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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);
	}

@@ -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;
+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*
+2 −2
Original line number Diff line number Diff line
@@ -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;
    }

+16 −10
Original line number Diff line number Diff line
@@ -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)) {
+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
@@ -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))

@@ -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;
@@ -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