}
connection->protocol = protocol;
- /*
- * If we have a valid device_id for the interface block, then we have an
- * active device, so bring up the connection at the same time.
- */
- if ((!connection->bundle &&
- protocol->flags & GB_PROTOCOL_NO_BUNDLE) ||
- connection->bundle->intf->device_id != GB_DEVICE_ID_BAD) {
- ret = gb_connection_init(connection);
- if (ret) {
- gb_protocol_put(protocol);
- connection->protocol = NULL;
- return ret;
- }
+ ret = gb_connection_init(connection);
+ if (ret) {
+ gb_protocol_put(protocol);
+ connection->protocol = NULL;
+ return ret;
}
return 0;
/* Possible flags for protocol drivers */
#define GB_PROTOCOL_SKIP_CONTROL_CONNECTED BIT(0) /* Don't sent connected requests */
#define GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED BIT(1) /* Don't sent disconnected requests */
-#define GB_PROTOCOL_NO_BUNDLE BIT(2) /* Protocol May have a bundle-less connection */
#define GB_PROTOCOL_SKIP_VERSION BIT(3) /* Don't send get_version() requests */
typedef int (*gb_connection_init_t)(struct gb_connection *);
.request_recv = gb_svc_request_recv,
.flags = GB_PROTOCOL_SKIP_CONTROL_CONNECTED |
GB_PROTOCOL_SKIP_CONTROL_DISCONNECTED |
- GB_PROTOCOL_NO_BUNDLE |
GB_PROTOCOL_SKIP_VERSION,
};
gb_builtin_protocol_driver(svc_protocol);