#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <net/sock.h>
-#include <net/tcp.h>
+#include <net/tcp_states.h>
#include <asm/system.h>
#include <linux/fcntl.h>
#include <linux/mm.h>
void rose_start_t1timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
void rose_start_t2timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
void rose_start_t3timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
void rose_start_hbtimer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
void rose_start_idletimer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->idletimer);
static void rose_heartbeat_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
bh_lock_sock(sk);
switch (rose->state) {
is accepted() it isn't 'dead' so doesn't get removed. */
if (sock_flag(sk, SOCK_DESTROY) ||
(sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) {
+ bh_unlock_sock(sk);
rose_destroy_socket(sk);
return;
}
static void rose_timer_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
bh_lock_sock(sk);
switch (rose->state) {