diff --git a/doc/scst_user_spec.txt b/doc/scst_user_spec.txt index 6eae9432c..b7122bdd2 100644 --- a/doc/scst_user_spec.txt +++ b/doc/scst_user_spec.txt @@ -98,7 +98,8 @@ space device. It doesn't have any parameters. During execution of SCST_USER_UNREGISTER_DEVICE at least one another thread must process all coming subcommands, otherwise after timeout it -will fail with EBUSY error. +will fail with EBUSY error. The processing should stop on receiving +ENODEV error. SCST_USER_UNREGISTER_DEVICE returns 0 on success or -1 in case of error, and errno is set appropriately. diff --git a/scst/src/dev_handlers/scst_user.c b/scst/src/dev_handlers/scst_user.c index bef27a3cf..4370d5133 100644 --- a/scst/src/dev_handlers/scst_user.c +++ b/scst/src/dev_handlers/scst_user.c @@ -284,7 +284,7 @@ static inline int calc_num_pg(unsigned long buf, int len) static void __dev_user_not_reg(void) { - PRINT_ERROR("%s", "Device not registered"); + TRACE(TRACE_MGMT_MINOR, "%s", "Device not registered"); return; } @@ -292,7 +292,7 @@ static inline int dev_user_check_reg(struct scst_user_dev *dev) { if (dev == NULL) { __dev_user_not_reg(); - return -EINVAL; + return -ENODEV; } return 0; }