-1096   requires proto 96
  */
 
-static int drbd_uuid_compare(struct drbd_device *const device, enum drbd_role const peer_role, int *rule_nr) __must_hold(local)
+static int drbd_uuid_compare(struct drbd_peer_device *const peer_device,
+               enum drbd_role const peer_role, int *rule_nr) __must_hold(local)
 {
-       struct drbd_peer_device *const peer_device = first_peer_device(device);
-       struct drbd_connection *const connection = peer_device ? peer_device->connection : NULL;
+       struct drbd_connection *const connection = peer_device->connection;
+       struct drbd_device *device = peer_device->device;
        u64 self, peer;
        int i, j;
 
        drbd_uuid_dump(device, "peer", device->p_uuid,
                       device->p_uuid[UI_SIZE], device->p_uuid[UI_FLAGS]);
 
-       hg = drbd_uuid_compare(device, peer_role, &rule_nr);
+       hg = drbd_uuid_compare(peer_device, peer_role, &rule_nr);
        spin_unlock_irq(&device->ldev->md.uuid_lock);
 
        drbd_info(device, "uuid_compare()=%d by rule %d\n", hg, rule_nr);