snull device deriver test
O'REILLY의 리눅스 디바이스 드라이버 (3판)을 보고 device driver를 공부하고 있는 학생입니다.
네트워크 드라이버에 있는 예제를 compile할 경우 다음과 같은 오류가 발생 합니다.
______________________________________________________________________
make -C /lib/modules/2.6.16.13/build M=/root/esw-2/ldd3-i386/snull modules
make[1]: Entering directory `/usr/src/linux-2.6.16.13'
CC [M] /root/esw-2/ldd3-i386/snull/snull.o
/root/esw-2/ldd3-i386/snull/snull.c: In function ‘snull_poll’:
/root/esw-2/ldd3-i386/snull/snull.c:309: error: too few arguments to function ‘netif_receive_skb’
make[2]: *** [/root/esw-2/ldd3-i386/snull/snull.o] 오류 1
make[1]: *** [_module_/root/esw-2/ldd3-i386/snull] 오류 2
make[1]: Leaving directory `/usr/src/linux-2.6.16.13'
make: *** [default] 오류 2
____________________________________________________________________________
소스코드를 볼때.. 오류는 없는듯 하여서 질문을 합니다.
고수님들의 좋은 가르침 부탁 드립니다. ^^
우선 수정을
netif_receive_skb 함수는 다음과 같은 원형을 사용합니다.
커널 소스의 netif_receive_skb 함수가 어떻게 되어 있는지 확인해보셔야 할거 같습니다. 또한 Makefile의 커널 소스 링크가 제대로 되어 있는지도 확인해보셔야 할거 같습니다.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.
댓글 달기