if (!ib)
if (IS_ERR(ib))
fs3270_read(struct file *filp, char *data, size_t count, loff_t *off){	struct fs3270 *fp;	struct raw3270_request *rq;	struct idal_buffer *ib;	int rc;		if (count == 0 || count > 65535)		return -EINVAL;	fp = filp->private_data;	if (!fp)		return -ENODEV;	ib = idal_buffer_alloc(count, 0);	if (!ib)		return -ENOMEM;	rq = raw3270_request_alloc(0);	if (!IS_ERR(rq)) {		if (fp->read_command == 0 && fp->write_command != 0)			fp->read_command = 6;		raw3270_request_set_cmd(rq, fp->read_command ? : 2);		raw3270_request_set_idal(rq, ib);		wait_event(fp->attn_wait, fp->attention);		rc = fs3270_do_io(&fp->view, rq);		if (rc == 0 && idal_buffer_to_user(ib, data, count))			rc = -EFAULT;		raw3270_request_free(rq);	} else		rc = PTR_ERR(rq);	idal_buffer_free(ib);	return rc;}