enum {
        CREATE_BARRIER,         /* next P_DATA is preceded by a P_BARRIER */
        SIGNAL_ASENDER,         /* whether asender wants to be interrupted */
-       SEND_PING,              /* whether asender should send a ping asap */
 
        UNPLUG_QUEUED,          /* only relevant with kernel 2.4 */
        UNPLUG_REMOTE,          /* sending a "UnplugRemote" could help */
 enum {
        NET_CONGESTED,          /* The data socket is congested */
        DISCARD_CONCURRENT,     /* Set on one node, cleared on the peer! */
+       SEND_PING,              /* whether asender should send a ping asap */
 };
 
 struct drbd_tconn {                    /* is a resource from the config file */
 
 static inline void request_ping(struct drbd_conf *mdev)
 {
-       set_bit(SEND_PING, &mdev->flags);
+       set_bit(SEND_PING, &mdev->tconn->flags);
        wake_asender(mdev);
 }
 
 
 
        while (get_t_state(thi) == RUNNING) {
                drbd_thread_current_set_cpu(mdev, thi);
-               if (test_and_clear_bit(SEND_PING, &mdev->flags)) {
+               if (test_and_clear_bit(SEND_PING, &mdev->tconn->flags)) {
                        if (!drbd_send_ping(mdev)) {
                                dev_err(DEV, "drbd_send_ping has failed\n");
                                goto reconnect;
                                dev_err(DEV, "PingAck did not arrive in time.\n");
                                goto reconnect;
                        }
-                       set_bit(SEND_PING, &mdev->flags);
+                       set_bit(SEND_PING, &mdev->tconn->flags);
                        continue;
                } else if (rv == -EINTR) {
                        continue;