|
@@ -476,26 +476,6 @@ static int cio_check_devno_blacklisted(struct subchannel *sch)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int cio_validate_io_subchannel(struct subchannel *sch)
|
|
|
-{
|
|
|
- /* Initialization for io subchannels. */
|
|
|
- if (!css_sch_is_valid(&sch->schib))
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- /* Devno is valid. */
|
|
|
- return cio_check_devno_blacklisted(sch);
|
|
|
-}
|
|
|
-
|
|
|
-static int cio_validate_msg_subchannel(struct subchannel *sch)
|
|
|
-{
|
|
|
- /* Initialization for message subchannels. */
|
|
|
- if (!css_sch_is_valid(&sch->schib))
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- /* Devno is valid. */
|
|
|
- return cio_check_devno_blacklisted(sch);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* cio_validate_subchannel - basic validation of subchannel
|
|
|
* @sch: subchannel structure to be filled out
|
|
@@ -533,10 +513,11 @@ int cio_validate_subchannel(struct subchannel *sch, struct subchannel_id schid)
|
|
|
|
|
|
switch (sch->st) {
|
|
|
case SUBCHANNEL_TYPE_IO:
|
|
|
- err = cio_validate_io_subchannel(sch);
|
|
|
- break;
|
|
|
case SUBCHANNEL_TYPE_MSG:
|
|
|
- err = cio_validate_msg_subchannel(sch);
|
|
|
+ if (!css_sch_is_valid(&sch->schib))
|
|
|
+ err = -ENODEV;
|
|
|
+ else
|
|
|
+ err = cio_check_devno_blacklisted(sch);
|
|
|
break;
|
|
|
default:
|
|
|
err = 0;
|