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.

at v3.16-rc3 60 lines 1.6 kB view raw
1/* 2 * Copyright (c) 2003 VIA Networking, Inc. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License along 15 * with this program; if not, write to the Free Software Foundation, Inc., 16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 * 18 * 19 * File: tether.c 20 * 21 * Purpose: 22 * 23 * Author: Tevin Chen 24 * 25 * Date: May 21, 1996 26 * 27 * Functions: 28 * ETHbIsBufferCrc32Ok - Check CRC value of the buffer if Ok or not 29 * 30 * Revision History: 31 * 32 */ 33 34#include "device.h" 35#include "tmacro.h" 36#include "tether.h" 37 38/* 39 * Description: Check CRC value of the buffer if Ok or not 40 * 41 * Parameters: 42 * In: 43 * pbyBuffer - pointer of buffer (normally is rx buffer) 44 * cbFrameLength - length of buffer, including CRC portion 45 * Out: 46 * none 47 * 48 * Return Value: true if ok; false if error. 49 * 50 */ 51bool ETHbIsBufferCrc32Ok(u8 * pbyBuffer, unsigned int cbFrameLength) 52{ 53 u32 n_crc = ~ether_crc_le(cbFrameLength - 4, pbyBuffer); 54 55 if (le32_to_cpu(*((__le32 *)(pbyBuffer + cbFrameLength - 4))) != n_crc) 56 return false; 57 58 return true; 59} 60