From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 28 Mar 2002 20:55:45 +0300 From: Sergey Vlasov To: devel@altlinux.ru Subject: Re: [devel] linux/drivers/usb/scanner.c Message-Id: <20020328205545.7d85e599.vsu@mivlgu.murom.ru> In-Reply-To: <20020325205955.6ea95133.goldhead@altlinux.ru> References: <20020324152536.1350c825.vsu@mivlgu.murom.ru> <20020324202505.3d7b013d.vsu@mivlgu.murom.ru> <20020325205955.6ea95133.goldhead@altlinux.ru> X-Mailer: Sylpheed version 0.7.4 (GTK+ 1.2.10; i586-alt-linux) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Mon, 25 Mar 2002 20:59:55 +0300 Konstantin Volckov wrote: > On Sun, 24 Mar 2002 20:25:05 +0300 > Sergey Vlasov wrote: > > Итак, в версии 0.4.7 драйвера USB-сканеров найдена куча багов, > > которые должен бы исправить прилагаемый патч. > > [skip] > > Здорово! Насколько я разобрался - все изменения к месту. Вы отослали патч > автору драйвера? Если нет - отошлите - его должны принять. Я же включу его > в следующую сборку 2.4.18 - alt5. Докладываю: получил ответ от мантейнера - он согласен принять этот патч. > > Есть еще два бага, которые пока оставлены - надо исследовать > > вопросы совместимости. В read_scanner и write_scanner при > > прерывании сигналом возвращается -ERESTARTSYS, даже если часть > > данных была передана - в общем случае это неправильно. Хотя, > > скорее всего, ни один пользовательский драйвер сигналами не > > пользуется - иначе эта ошибка всплыла бы; к тому же все равно > > сигналы обрабатываются с большой задержкой - на время выполнения > > usb_bulk_msg. > > Не думаю, что это критично - насколько я знаю, sane игнорирует не > полностью просканированные файлы. На этом месте может вылезти глюк, если frontend попытается пользоваться pthreads - там внутри используются сигналы. Кстати, в старом POSIX возврат EINTR после частичного чтения допускался. В новой версии IEEE Std 1003.1-2001 это уже запретили. Так что придется править. В принципе там вообще надо переписать этот кусок, чтобы использовались непосредственно URB вместо usb_bulk_msg - иначе, похоже, для BearPaw 2400TA получаются слишком большие задержки между блоками. Но это уже позже. [skip]